目次
cocoapods自体をアップデートしようとしたらエラー
以下コマンドでcocoapodsをアップデートしたらエラーが出た。
gem update cocoapods
ERROR: While executing gem … (Gem::FilePermissionError)
You don’t have write permissions for the /Library/Ruby/Gems/2.3.0 directory.
You don’t have write permissions for the /Library/Ruby/Gems/2.3.0 directory.
はいはいsudo sudo…
sudo gem update cocoapods
ERROR: While executing gem … (Gem::FilePermissionError)
You don’t have write permissions for the /usr/bin directory.
You don’t have write permissions for the /usr/bin directory.
ズコー
これは例のアレですわ。
rootlessを解除してcocoapodsをアップデートする
インストールするときにやったように、macOSのSystem Integrity Protection(SIP、rootless)を解除してからアップデートしてやればOK。
なお、これからの手順はOSの再起動が入るので、今使っているPCを再起動してしまう場合は、スマホか別PCでこのページを見るか、画面を撮影してしまおう。ちなみにこのページへのQRコードは以下。
rootless解除&アップデート&rootless再設定手順
1. macを一旦終了して、cmd + Rを押しながらmac起動で、リカバリモードへ。りんごマークが表示されたらcmd + Rは離してOK。
2. 上のメニューバーから、ターミナルを起動し、ターミナル上で、以下コマンドを実行して、rootlessをオフ(再起動後に反映)。
csrutil disable
3. 上のメニューバーから、OSを再起動。
4. 起動したら、ターミナルを開き、以下コマンドでcocoapodsをアップデート。
sudo gem update cocoapods
5. アップデートが終わったら、rootlessを再びオンにするために、(1.)と同じ手順でリカバリモードへ。
6. ターミナルを起動し、以下コマンドを実行して、rootlessをオン(再起動後に反映)。
csrutil enable
7. OS再起動。
8. なお、以下コマンドで現在の状況を確認できる。
csrutil status
オフになっている場合
$ csrutil status
System Integrity Protection status: disabled.
System Integrity Protection status: disabled.
オンになっている場合
$ csrutil status
System Integrity Protection status: enabled.
System Integrity Protection status: enabled.
コメント