目的
CocoaPodsベースで管理しているFirebaseライブラリのバージョンを上げようとしたら以下エラーにより上げられませんでした。
`FirebaseAnalytics` requires CocoaPods version `>= 1.10.0`, which is not satisfied by your current version, `1.9.1`.
環境
- Xcode Version 12.5
- Swift 5
参照サイト
対応の前に
pod update
すると、記載した上記エラーとともに対応コマンドも表示されます。
CocoaPods 1.10.1 is available.
To update use: `sudo gem install cocoapods`
それで、sudo gem install cocoapods
を実行して以下の様に表示されるのですが、バージョンは上がりませんでした。
Successfully installed cocoapods-1.10.1
Parsing documentation for cocoapods-1.10.1
Done installing documentation for cocoapods after 1 seconds
一旦CocoaPodsをアンインストールとかXcodeツールのインストールとか書かれてました。
私は以下の対応メモの対応で良かったのですが、これが本当に良いのかは自信なく責任負えませんのでご了承ください。
今考えたら、gemのupdateしても良かったかも。してないです。
対応メモ
実施した内容は以下です。
- Ruby用にzshrcファイルにコマンド記載
- Rubyのバージョンを3以上にした
- Homebrewツール経由でCocoaPodsをインストールした
Ruby用にzshrcファイルにコマンド記載
Rubyをインストールするために、ホームディレクトリのzshrcファイル(もしくは、zshenv)に以下を追加しました。
export PATH="/usr/local/bin:$PATH"
export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH"
/usr/local/bin
が重要かもしれません。
書いていませんでした。。。
Macのデフォルトシェルがzshになった際に漏れたのでしょうか。
Rubyのバージョンを3以上にした
先にいうと、対応の必要性は不明ですが、一応記載します。
どうやらRubyを3.0以上にしないと、CocoaPodsが1.10
にならないと見たので対応。
Rubyはrbenvツールで管理するのが良いようで、そのツール入れました。
$ brew install rbenv ruby-build
$ rbenv install --list
$ rbenv install 3.0.1
$ rbenv global 3.0.1
$ $ rbenv versions
-> * 3.0.1 .....
$ ruby -v
-> ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38)
ただ、
この後、sudo gem install cocoapods
としても何も変わらずでした。
冒頭でも書きましたが、この対応が必要だったのかどうかは不明です。
Homebrewツール経由でCocoaPodsをインストールした
自分は今までgemライブラリで$ sudo gem install cocoapods
で入れていました。
gemというのはRubyのライブラリ・管理システムといわれているようですが。
gem経由でCocoaPodsを入れるのではなく、以下でコマンドを入れるようにしました。
$ brew install cocoapods
ー> Error: The `brew link` step did not complete successfully
...
already exists. You may want to remove it:
rm '/usr/local/bin/pod'
指示通りCocoaPodsファイルを消す。
$ rm '/usr/local/bin/pod'
もう一度インストール
$ brew install cocoapods
ー> Warningは表示されるが、Errorは表示されなくなった。
一応、バージョンが上がっていた。
$ pod --version
ー> 1.10.1
以上で、FirebaseAnalytics
も問題なくバージョンアップできた。
今回の現象、自分の環境だけかもしれませんが、同じ問題で困った人がいたら参考にならば幸いです。