brew: command not found で Homebrew が実行できない
インストールは終わっているのに brew が PATH に無い状態。
シェル設定に `eval "$(/opt/homebrew/bin/brew shellenv)"` を書いて読み直せば解決する。
Apple Silicon と Intel で prefix が違う点が原因の大半。
公開:
要約
brew: command not found(zsh: command not found: brew)は、Homebrew の本体は入っているのに brew の置き場所が PATH に無いときに出る。
インストーラは最後に「シェルの設定にこれを追記せよ」と shellenv の行を表示する。
その案内を実行していないと、この状態になる。
追記して読み直せば直る。
よくある原因
- shellenv 未設定: インストール直後に案内される
eval "$(... /bin/brew shellenv)"をシェル設定へ書いていない。 - prefix の取り違え: Homebrew の既定 prefix は Apple Silicon が
/opt/homebrew、Intel Mac が/usr/local、Linux が/home/linuxbrew/.linuxbrewで、記事や手順が想定する場所とずれている。 - 設定ファイル違い:
~/.bash_profileに書いたが実際は zsh を使っている、といった食い違い。 - 読み直していない: 追記しただけで、シェルを開き直していない。
解決策
1. brew の実体を探す
ls -l /opt/homebrew/bin/brew /usr/local/bin/brew /home/linuxbrew/.linuxbrew/bin/brew 2>/dev/null存在した方が自分の環境の prefix である。
2. shellenv をシェル設定に追記する
Apple Silicon の Mac(zsh)の場合は次のとおり。
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc
brew --versionIntel Mac なら /usr/local/bin/brew、Linux なら /home/linuxbrew/.linuxbrew/bin/brew に読み替える。brew shellenv は PATH などの環境変数をまとめて設定する(公式ドキュメント(新しいタブで開く))。
3. 使っているシェルを確認する
echo $SHELL/bin/zsh なら ~/.zshrc、/bin/bash なら ~/.bash_profile(Linux では ~/.bashrc)へ書く。
4. 既定の prefix から動かさない
prefix を独自の場所へ変えると、ビルド済みバイナリ(bottle)が使えずソースビルドになり、失敗しやすくなる。
Homebrew は既定の場所へのインストールを推奨している。