M1 MacBookProのTerminal設定でIntel版からなるべくそのまま移そうとしてドツボにハマった点を挙げてみる
業務環境をM1MacBookProに移す作業を実際に行ってみて、気をつけていたつもりでもやはり嵌ってしまうということを改めて実感しました。まだまだ途中ですが、意外とやりがちかもしれないところを幾つか挙げてみました。
まずはCommandLineTools for XCode
セットアップし始めて何かコケる場合の原因No.1だと思います。
xcode-select --install
Terminalコンソール上のセットアップを開始する場合は、ほんとにこれを先ずやらないといけないと毎回終わって思うものの、毎回始めるときには忘れています。今回もやらかしました。
HomeBrewのパスはM1ベースに変更する
直前まで使っていた環境がIntel版の場合、zshrc等のドットファイル内のパスも恐らくIntel版でしょう。そしてとりあえず動かしたい時にやりがちなのはそのままM1環境に持ってくること。 exec $SHELL -l
と同時に多発するのが次のエラーメッセージ。
no such file or directory: /usr/local/*****
M1版のパスは /opt/homebrew/
です。ただし、単純に書き換えれば完了というわけでもありません。使っているライブラリがカバーしているかは以下のIssueで確認可能です。
AWSCLIV2の補完指定
ドキュメントを見落としていたために思わず嵌った代物です。V1の時に使っていた aws_zsh_completer.sh
はV2版では導入されません。V2版ではaws_completer
を利用します。
V2版は公式のガイドを辿ってインストールします。補完の手続きについてもドキュメント化されているので、忘れずに実行します。
以下は、手続きが中途半端な場合に起こるエラーです。
zshなのにbashcompinitをautoloadしている理由はcompleteコマンドのためです。autoloadしない場合は以下のエラーが発生します。
command not found: complete
また、2行目のcompinitが入らなかった場合は以下のエラーとなります。
complete:13: command not found: compdef
あとがき
基本的にはIntel版の設定を持ってこれるのですが、HomeBrewについてはPATH指定を訂正しない限り正常に動作しないものが多くなります。
あとはパス指定にバージョン番号を含めていた場合にM1以降で切り捨てられてしまったバージョンを指定していると、幾らインストールしなおしても正常に動作しません。試しに echo $PATH
にてバージョン番号を含んでいないか確認してみるのも手でしょう。