できない.dev

brew: command not found で Homebrew が実行できない

インストールは終わっているのに brew が PATH に無い状態。
シェル設定に `eval "$(/opt/homebrew/bin/brew shellenv)"` を書いて読み直せば解決する。
Apple Silicon と Intel で prefix が違う点が原因の大半。

公開:

要約

brew: command not foundzsh: command not found: brew)は、Homebrew の本体は入っているのに brew の置き場所が PATH に無いときに出る。

インストーラは最後に「シェルの設定にこれを追記せよ」と shellenv の行を表示する。
その案内を実行していないと、この状態になる。
追記して読み直せば直る。

よくある原因

  1. shellenv 未設定: インストール直後に案内される eval "$(... /bin/brew shellenv)" をシェル設定へ書いていない。
  2. prefix の取り違え: Homebrew の既定 prefix は Apple Silicon が /opt/homebrew、Intel Mac が /usr/local、Linux が /home/linuxbrew/.linuxbrew で、記事や手順が想定する場所とずれている。
  3. 設定ファイル違い: ~/.bash_profile に書いたが実際は zsh を使っている、といった食い違い。
  4. 読み直していない: 追記しただけで、シェルを開き直していない。

解決策

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 --version

Intel 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 は既定の場所へのインストールを推奨している。

この記事は役立ちましたか?