久しぶりにSwiftを触るにあたり「そうだ、Cocoa Podsのバージョンを上げよう!」と思ってつまづいたので備考欄を兼ねて残します。
検証した環境
| 1 | Mac OS | 10.15.6 | macOS Catalina |
| 2 | Cocoa Pods | 1.8.4 | 更新前 |
| 3 | gem | 3.0.6 |
Cocoa Podsのバージョンを上げる
Cocoa Podsを上げるのは $ gem update cocoapods ですが、権限周りで怒られました。
Cocoa Podsのインストール環境
私がSwiftの開発を始めたSwift1,2の頃は「Homebrew」でCocoa Podsをインストールしていましたが、公式で gem を使った方法が書かれていたため、
途中で gem を使ったインストール方法に変えました。
# インストール時のコマンド
$ sudo gem install cocoapodsインストール先の確認
$ which pod
/usr/local/bin/podパーミッション周りの対応
結論としては $ sudo gem update -n /usr/local/bin cocoapods で出来ました!
-n というオプションは「実行可能ファイルがあるディレクトリ位置」を指定するオプションなんですね。
なぜそれでエラーが起きなくなるかは分からないですが 😅
$ gem update --help
・・・
-n, --bindir DIR Directory where executables are locatedまず、素の状態で実行
$ gem update cocoapods
Updating installed gems
Updating cocoapods
・・・
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.sudo 付けて実行
$ sudo gem update cocoapods
Password:
Updating installed gems
Updating cocoapods
・・・
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.別の場所でパーミッションエラー。
以下の記事参考 -n 付けたら、
RubyのGem::FilePermissionErrorを解決する - Qiita
$ sudo gem update -n /usr/local/bin cocoapods
Password:
Updating installed gems
Updating cocoapods
・・・
Done installing documentation for cocoapods after 1 seconds
Gems updated: cocoapodsできた!
更新が出来た事の確認
$ pod --version
1.9.3余談
調べていると Macが Catalinaになってからはインストール時も含め -n /usr/local/bin を指定する必要があるみたいですね。
【Swift】CocoaPods導入手順 - Qiita