macOS Sierra クリーンインストール後、cocoapods をインストールしようとしたら Operation not permitted エラーが発生し、インストールができませんでした。
El Capitan 以降の OS では、マルウェアからの攻撃に対するセキュリティ強化のため、root 権限にもシステム関連フォルダへのアクセスに制限がかかる(rootless)ようになったのが原因です。
今回はこの問題を解決し、cocoapods をインストールする方法をメモしておきます。
目次
- cocoapods インストール時の Operation not permitted エラーを回避する
- まとめ
cocoapods インストール時の Operation not permitted エラーを回避する
まず ターミナル.app から普通に cocoapods をインストールしようとします。
[code]
sudo gem install cocoapods
[/code]
すると以下のようなエラーが発生します。
[code]
ERROR: While executing gem … (Errno::EPERM)
Operation not permitted – /usr/bin/xcodeproj
[/code]
/user 直下への書き込みが制限されているため、cocoapods のインストール先を /usr/local/bin とします。
[code]
sudo gem install -n /usr/local/bin cocoapods
[/code]
これで cocoapods のインストールが完了しました。
まとめ
セキュリティが強化されることは歓迎ですが、sudo コマンドの万能感がなくなるのは、それはそれで少し不便だったりもします。。
悪質なマルウェアが存在しなければこういうことにはならないのですが、現実世界ではドアに鍵がついているなら、鍵をかけて外出することで、防犯というリスク回避になることと同様、rootless の機能は重要だと感じました。
この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。