[Mac] CocoaPods をアップデートする

はじめに

CocoaPods 自体のバージョン変更はあまりせず忘れがちなのでメモとして残しておきます。

環境

Mac: Catalina 10.15.6

作業内容

以下のようなエラーが出てライブラリをいい感じに入れられなくなったので、CocoaPods をアップデートします。

Analyzing dependencies
[!] `FirebaseAnalytics` requires CocoaPods version `>= 1.10.0`, which is not satisfied by your current version, `1.9.3`.

という訳で1.10.0 を指定してアップデートを試みる。

$ gem install cocoapods -v 1.10.0
Fetching cocoapods-1.10.0.gem
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.

パーミッションがない🤔
sudo をつけて再度実行。

$ sudo gem install cocoapods -v 1.10.0
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/bin directory.

ダメっぽいのでどうしたもんかと思っていたら以下のような記事を発見。
Qiita: MacOSX El Capitanでcocoapodsインストールが出来ない時の対処法

El Capitanからrootlessという概念が登場しました。
簡単に説明をすると、root権限を持つユーザーでも

/usr
/sbin
/System

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

https://qiita.com/trsxxii/items/4bb4708de03e6ee14a4a#%E5%8E%9F%E5%9B%A0

これっぽいなぁ(環境構築したときのことは忘れている🤯)

ということでCocoaPods のインストールフォルダを確認。

$ which pod
/usr/local/bin/pod

/usr/local/bin ね!
同じインストールフォルダを指定してインストールします。

$ sudo gem install -n /usr/local/bin cocoapods -v 1.10.0
Password:
Successfully installed xcodeproj-1.19.0
Successfully installed cocoapods-1.10.0
Parsing documentation for xcodeproj-1.19.0
Installing ri documentation for xcodeproj-1.19.0
Parsing documentation for cocoapods-1.10.0
Installing ri documentation for cocoapods-1.10.0
Done installing documentation for xcodeproj, cocoapods after 4 seconds
2 gems installed

うまくいきました 🙌

最後に

今回当たったアクセス制限は System Integrity Protection 略してSIP というらしいです。
Appleの公式サポートサイト: Mac のシステム整合性保護について

書き記したので忘れることはないでしょう🤧

以上です。
お疲れ様でした!

[Mac] CocoaPods をアップデートする」への1件のフィードバック

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。