zsh: command not found: brew の解決方法
問題の概要
Homebrew のインストールが完了したにもかかわらず、ターミナルで brew
コマンドを実行すると「zsh: command not found: brew」というエラーが表示される問題が発生しています。これは主に、Homebrew の実行パスが zsh シェルの PATH 環境変数に正しく設定されていないことが原因です。
特に M1/M2/M3/M4 チップ搭載の Mac では、Homebrew のインストール先が従来の /usr/local/bin
ではなく /opt/homebrew/bin
に変更されているため、この問題が頻繁に発生します。
解決方法
最新のインストール方法(推奨)
まず、最新の Homebrew インストールスクリプトを使用して再インストールすることをおすすめします:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
インストール完了後、以下のコマンドを実行して Homebrew を PATH に追加します:
echo '# Set PATH, MANPATH, etc., for Homebrew.' >> ~/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
TIP
brew shellenv
コマンドは、Homebrew に必要な環境変数を自動的に設定してくれます。手動で PATH を設定するよりも安全で確実な方法です。
手動での PATH 設定
もし上記の方法で解決しない場合、または手動で設定したい場合は、以下の手順で .zshrc
ファイルを編集します:
echo 'export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"' >> ~/.zshrc
変更を反映させるには、ターミナルを再起動するか、以下のコマンドを実行します:
source ~/.zshrc
設定ファイルの確認
複数の設定ファイルがある場合、優先順位によっては期待通りに動作しないことがあります。以下のコマンドで現在の PATH 設定を確認できます:
echo $PATH
Homebrew のパス(/opt/homebrew/bin
)が他のパスよりも前に来ていることを確認してください。
注意事項
PATH の順序は重要です。Homebrew のパスがシステム標準のパス(/usr/bin
, /bin
など)よりも前に来るように設定する必要があります。そうしないと、システムに元から入っている同名のコマンドが優先されてしまう可能性があります。
トラブルシューティング
設定ファイルの場所の確認
zsh の設定ファイルは複数あり、読み込み順序が決まっています:
~/.zprofile
:ログイン時に読み込まれる~/.zshrc
:対話型シェル起動時に読み込まれる
以下のコマンドでどの設定ファイルに PATH が設定されているか確認できます:
grep -r "opt/homebrew" ~/.z* ~/.profile
Homebrew のインストール先の確認
Homebrew が実際にどの場所にインストールされているか確認するには:
ls /opt/homebrew/bin/brew
もしファイルが存在する場合は、インストールは成功していますが PATH 設定だけが不足しています。
その他の考慮事項
異なる環境での Homebrew パス
使用しているシステムによって Homebrew のパスが異なります:
/usr/local/bin/brew
/opt/homebrew/bin/brew
/home/linuxbrew/.linuxbrew/bin/brew
ターミナルの設定確認
まれに、ターミナルアプリ自体の設定が原因であることがあります:
- ターミナルを開く
- 設定(Preferences)を開く
- プロファイル(Profiles)タブを選択
- シェル(Shell)セクションで「コマンド(完全なパス)」(Command (complete path))が選択されていることを確認
まとめ
「zsh: command not found: brew」エラーは、Homebrew の実行パスが zsh シェルに正しく設定されていないことを示しています。最新のインストールスクリプトを使用し、brew shellenv
コマンドを利用して PATH を設定することで、ほとんどの場合この問題は解決します。
設定後は brew doctor
を実行して、Homebrew が正しく機能していることを確認してください。