Homebrew 3.0をApple SiliconなMacにインストールする際に/usr/localが出てきたら実行モードを見直そう
Apple SiliconのMacに対応した、Homebrew 3.0.0が2021.2.5にリリースされました。
筆者は以前から手動インストールしてApple Silicon対応版のHomebrewを使っていたのですが、せっかく正式対応してもらえたので、いつもの install.sh
でインストールし直すことにしました。
その過程で、少しハマりポイントになりそうな箇所を見つけたので、備忘録として残しておきます。
/usr/local
にインストールしそうになった
うっかりRosetta 2の実行環境で たまたまRosetta 2(Intel互換モード)で動いているターミナルを触っているときに、Homebrewのインストールコマンドを実行してしまいました。すると、インストール先の確認フェーズで、次のようなパスが表示されます。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Password:
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following existing directories will be made group writable:
/usr/local/bin
/usr/local/include
/usr/local/lib
/usr/local/share
/usr/local/share/doc
/usr/local/share/man
/usr/local/share/man/man1
==> The following existing directories will have their owner set to nkzn:
/usr/local/bin
/usr/local/include
/usr/local/lib
/usr/local/share
/usr/local/share/doc
/usr/local/share/man
/usr/local/share/man/man1
==> The following existing directories will have their group set to admin:
/usr/local/bin
/usr/local/include
/usr/local/lib
/usr/local/share
/usr/local/share/doc
/usr/local/share/man
/usr/local/share/man/man1
==> The following new directories will be created:
/usr/local/etc
/usr/local/sbin
/usr/local/var
/usr/local/opt
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var/homebrew
/usr/local/var/homebrew/linked
/usr/local/Cellar
/usr/local/Caskroom
/usr/local/Frameworks
Press RETURN to continue or any other key to abort
Intel Macを使い慣れた感覚だと、 /usr/local
以下に出力されるのは真っ当なように思えますが、これは誤りです。
/opt/homebrew
を利用する
Apple Silicon版のHomebrewは 前述のリリースノート記事でも言及されていますが、v3.0.0以降のHomebrewがApple Silicon向けの動作をする場合、インストール先は /opt/homebrew
です。
Apple Silicon is now officially supported for installations in
/opt/homebrew
.
そのため、 /usr/local
にインストールしようとしているのはおかしいのでした。
筆者もこの時点でターミナルの動作モードがIntelだったことに気がついて、Apple Siliconで動作するターミナルに切り替えました。切り替え後の動作は次の通りです。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Password:
==> This script will install:
/opt/homebrew/bin/brew
/opt/homebrew/share/doc/homebrew
/opt/homebrew/share/man/man1/brew.1
/opt/homebrew/share/zsh/site-functions/_brew
/opt/homebrew/etc/bash_completion.d/brew
/opt/homebrew
==> The following new directories will be created:
/opt/homebrew/Caskroom
Press RETURN to continue or any other key to abort
ちゃんと /opt/homebrew
以下にインストールされる形になっています。 /opt/homebrew
以下には手動でインストールした際のフォルダが既にあった可能性があるので、まっさらな状態からインストールすると、もう少し多くのフォルダが表示されるかもしれません。
まとめ
Apple Silicon対応のツールをコマンドラインからインストールする場合は、アクティビティモニタか何かでターミナルの動作モードをよく確認してからにしようね!
Discussion