Edited at

OS X El Capitanにアップデートしたらpod install が command not found

More than 3 years have passed since last update.


何が起きたか

OS X El Capitanにバージョンアップ後pod installしたらコマンドが見つからないとエラーになった。

$ pod install

zsh: command not found: pod


環境

OS X El Capitan 10.11.6


解決方法

インストールフォルダを変更しました。

$ sudo gem install -n /usr/local/bin cocoapods

Successfully installed xcodeproj-1.2.0
Fetching: fourflusher-0.3.2.gem (100%)
Successfully installed fourflusher-0.3.2
Fetching: cocoapods-1.0.1.gem (100%)
Successfully installed cocoapods-1.0.1
Parsing documentation for xcodeproj-1.2.0
Installing ri documentation for xcodeproj-1.2.0
Parsing documentation for fourflusher-0.3.2
Installing ri documentation for fourflusher-0.3.2
Parsing documentation for cocoapods-1.0.1
Installing ri documentation for cocoapods-1.0.1
3 gems installed

$ pod --version
1.0.1

$ pod install
Re-creating CocoaPods due to major version update.
Analyzing dependencies
Downloading dependencies
Installing BEMCheckBox (1.2.1)
Installing FlatUIKit (1.6.2)
Installing Nimble (3.0.0)
Installing Quick (0.9.1)
Installing Realm (0.98.5)
Installing RealmSwift (0.98.5)
enerating Pods project
Integrating client project
Sending stats
Pod installation complete!

成功しました。


なぜ起きたか

El Capitanからrootlessという概念が登場しました。

rootlessとは、System Integrity Protectionというのが正式名称で、要するに、root権限でも変更できないようにディレクトリ、ファイル、プロセスを保護する仕組みです。

簡単に説明をすると、root権限を持つユーザーでも

/usr

/sbin

/System

などへのアクセスが制限されるというものです。

ここに何か作ろうとするとOperation not permittedと怒られます。

これが原因で/usr配下にcocoapodsがインストール出来ないと思われます。


参考