MacのターミナルでCocoaPodsを使おうとしたときに、pod: command not found と表示されることがあります。このエラーは、CocoaPodsが未インストール、インストール先にPATHが通っていない、RubyやHomebrewの環境が切り替わった、といった理由で pod コマンドをシェルが見つけられないときに発生します。
この記事では、代表的な原因、確認手順、複数の解決方法、必要なコマンド例、注意点を順番に解説します。
エラー内容
zsh: command not found: pod
主な原因
- CocoaPods自体がインストールされていない
podの実行ファイルがPATHに含まれていない- RubyGemsでインストールした場所と現在のRuby環境が異なる
- Homebrewのパスがシェルに反映されていない
- Intel MacからApple Silicon Macへの移行後に古いパス設定が残っている
- rbenvやasdfなどでRubyを切り替えた結果、CocoaPodsが見えなくなっている
代表的な発生状況
新しいMacに開発環境を構築した直後、macOSやRubyを更新した後、Homebrewを入れ直した後、別のRubyバージョンへ切り替えた後などに発生しやすいです。また、以前は使えていたのに突然 pod が見つからなくなった場合は、PATHやRuby環境の変更が原因であることが多いです。
確認手順
1. podコマンドが存在するか確認する
which pod
command -v pod
何も表示されなければ、現在のPATH上に pod が存在していません。
2. CocoaPodsがRubyGemsに入っているか確認する
gem list cocoapods
3. Rubyとgemの場所を確認する
ruby -v
which ruby
which gem
gem env
4. Homebrewを使っている場合はbrewの場所を確認する
which brew
brew --prefix
解決方法1:CocoaPodsをインストールする
CocoaPodsが未インストールなら、RubyGemsまたはHomebrewでインストールします。
RubyGemsを使う場合
sudo gem install cocoapods
環境によっては sudo を使わず、ユーザー管理のRuby環境へインストールする方が安全です。
Homebrewを使う場合
brew install cocoapods
インストール後、次のコマンドで確認します。
pod --version
解決方法2:PATHを通す
CocoaPodsが入っているのに pod が見つからない場合は、実行ファイルのあるディレクトリがPATHに含まれているか確認します。
echo $PATH
gem env home
gem environment
zshを使っている場合、必要なパスを ~/.zshrc に追加してから設定を再読み込みします。
source ~/.zshrc
PATHに追加する具体的なディレクトリはMacやRuby環境によって異なります。固定のパスをそのままコピーせず、gem env や brew --prefix で実際の場所を確認してください。
解決方法3:Homebrewのshellenvを反映する
Apple Silicon MacではHomebrewが通常 /opt/homebrew 配下に入ります。brew自体が見つからない場合は、Homebrewの案内に従ってshellenvを設定します。
eval "$(/opt/homebrew/bin/brew shellenv)"
恒久的に使う場合は、同等の設定を ~/.zprofile などに追加します。
解決方法4:Ruby環境をそろえる
rbenvやasdfを使っている場合、CocoaPodsをインストールしたRubyと現在選択されているRubyが違うと pod が見つからなくなることがあります。
ruby -v
which ruby
gem list cocoapods
使用したいRubyへ切り替えた後、そのRuby環境でCocoaPodsを入れ直します。
解決方法5:シェルを再起動する
インストール直後はPATH変更が現在のターミナルに反映されていないことがあります。ターミナルを開き直すか、設定ファイルを再読み込みしてください。
exec zsh
最終確認
which pod
pod --version
バージョン番号が表示されれば、pod コマンドは利用可能です。プロジェクトでCocoaPodsを使う場合は、その後必要に応じて次を実行します。
pod install
注意点
- システムRubyへ無理に書き込むより、HomebrewやRubyバージョン管理環境を使った方がトラブルを避けやすい場合があります。
- Apple Silicon MacとIntel MacではHomebrewの標準パスが異なることがあります。
pod installの実行時エラーと、pod: command not foundは別問題です。まずコマンド自体が認識される状態にしてください。- 複数のRuby環境を併用している場合は、
which ruby、which gem、which podの3つを確認すると切り分けしやすくなります。
まとめ
pod: command not found は、CocoaPodsが未インストールであるか、インストール済みでもPATHやRuby環境の違いによって pod が見つからないときに発生します。まず which pod、gem list cocoapods、which ruby を確認し、未インストールならCocoaPodsを導入、インストール済みならPATHとRuby環境を見直すのが基本です。
