M1 MacBookProのTerminal設定でIntel版からなるべくそのまま移そうとしてドツボにハマった点を挙げてみる

M1 MacBookProのTerminal設定でIntel版からなるべくそのまま移そうとしてドツボにハマった点を挙げてみる

業務環境をM1に移すためセットアップしていたところ、やはりというかそれなりに嵌っていました。まず最初にxcode-select --installを忘れない方法が知りたいです。
Clock Icon2021.10.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

業務環境を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 にてバージョン番号を含んでいないか確認してみるのも手でしょう。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.