OS X 10.11 El Capitanで「pod: command not found」と出た時の対処法

ご注意

この記事は2015年10月4日に書いたものです。 情報が古くなっている可能性があるのでご注意ください。

el-capitan-pod-command-not-found_20151004
CocoaPodsで入れたライブラリを更新しようとターミナルで

と打ったら、「pod: command not found」と出てアップデートができなくなってしまいました。

つい何日か前は普通に使えてたのに。

ターミナルで

と打つと、

cocoapods関連のものがしっかり入っていました。

スポンサードリンク

「pod: command not found」の原因

「入ってるのになんでー?」と調べてみるとMacBook Proに入れているOSをEl Capitan(OS X 10.11)にアップデートしたことが原因ぽいことがわかりました。

AppleはEl Capitanのインストーラーに新たに導入されたシステム整合性保護(SIP)機能”Rootless”に関する面白い機能を実装しているようです。
「El Capitanのインストーラーには、古いOSからアップデートするさい、Appleが新たに導入するSIPで保護するディレクトリから非Apple製のファイルを探しだし” QuarantineRoot”というディレクトリに移動させる」
via:OS X 10.11 El Capitanのインストーラーには”/bin”や”/usr”などシステム保護ディレクトリにある非Apple製ファイルを移動してしまう機能があるので注意。

また、Githubのissueに解決法があがっていることをSlackであきおさん(@akio0911)から教えてもらいました。

Builds fails with OS X El Capitan 10.11 Beta (15A244d) | Xcode Version 7.0 beta 4 (7A165t) · Issue #3970 · CocoaPods/CocoaPods

「cocoapods (0.38.2)」というのだけが入っていない状態

ただ残念なことに、このissueにたどり着く前に

とかして、issueに書いてあることをやってもうまくいかない状態になっちゃってました。。

現状を把握するためにターミナルで

と打つと、

となっていて、「cocoapods (0.38.2)」というのだけが入っていない状態でした。

最終手段、全部消して入れ直す

どうやって対処すればいいかなーとググってたらこんなページを発見。

各プロジェクト内のPodfileさえ無事なら、podコマンドがどうなろうが影響ないはずなので、最終手段は全部やりなおし。
via:CocoaPodsでError出た時の対処法 – 銀の人のメモ帳

というわけで、全部やり直ししてみたら無事

が使えるようになりました!

「rm -rf」は恐ろしい呪文

中途半端に残っていたのも一緒にアンインストールしたのですが、

恐ろしい呪文だと教えられていたので、リンク先のページに書いてあった次の2行

は実行しませんでした。

キャッシュフォルダっぽいところを確認しても何も入っていなかったので、実際にはこんな風に実行しました。

これで最後に「0.38.2」と表示されて無事CocoaPodsが使えるようになりました。

さいごに

El Capitanにアップデートした影響でCocoaPodsが使えなくなるとは思いませんでした。
ただOSのバージョンアップは今まで使えてたものが突然使えなくなるようなことも起こりえるので、そんな問題が起きた時にどう対処するか考えることが大切な気がします。

スポンサードリンク

  • ゆとりをもった自由な暮らし、ストレスフリーな生活を送る
    1984年生まれ
    生まれも育ちも神奈川県川崎市

    詳しいプロフィールはこちら

    • follow us in feedly
    • Google+
    • フィード
    • お問い合わせ