久しぶりに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