目的

CocoaPodsベースで管理しているFirebaseライブラリのバージョンを上げようとしたら以下エラーにより上げられませんでした。

CocoaPodsエラー
`FirebaseAnalytics` requires CocoaPods version `>= 1.10.0`, which is not satisfied by your current version, `1.9.1`.
このページはその対応策となります。

環境

  • Xcode Version 12.5
  • Swift 5

参照サイト

progate Rubyの開発環境を用意しよう!

対応の前に

pod updateすると、記載した上記エラーとともに対応コマンドも表示されます。

pod update
CocoaPods 1.10.1 is available.
To update use: `sudo gem install cocoapods`

それで、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)に以下を追加しました。

zsh
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を入れるのではなく、以下でコマンドを入れるようにしました。

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ファイルを消す。

CocoaPodsフォルダ削除
$ rm '/usr/local/bin/pod'

もう一度インストール

もう一度CocoaPodsインストール
$ brew install cocoapods

ー> Warningは表示されるが、Errorは表示されなくなった。

一応、バージョンが上がっていた。

CocoaPodsバージョン
$ pod --version          
> 1.10.1

以上で、FirebaseAnalyticsも問題なくバージョンアップできた。
今回の現象、自分の環境だけかもしれませんが、同じ問題で困った人がいたら参考にならば幸いです。