【Flutter】The version of CocoaPods used to generate the lockfile is higherの解決方法

はじめに

CodeMagicにて、FlutterプロジェクトのiOSビルド中に以下のようなエラーメッセージが表示されました。その解決方法を記載します。

[!] The version of CocoaPods used to generate the lockfile (1.15.2) is higher than the version of the current executable (1.14.2). Incompatibility issues may arise.

エラーメッセージの意味

このメッセージは、プロジェクトの依存関係を管理するために使用されるCocoaPodsのバージョンが、現在のシステムで使用されているバージョンと異なることを示しています。具体的には、開発環境ではCocoaPods 1.15.2でPodfile.lockが作成されているのに対し、ビルド時にはCocoaPods 1.14.2 を使用してます。ビルド時の環境のバージョンが古いため、エラーが発生しました。

Podfile.lockの最後(作成時のCocoaPodsのバージョンが確認できる)

(省略)
PODFILE CHECKSUM: d81d09eb74ad0a696d3798e1161d6e94e4d2e055

COCOAPODS: 1.15.2

修正

ローカル環境

自分のビルド環境で発生したのであらば、CocoaPodsを最新にすれば良いです。

pod repo update

もしくは今後発生しないようにCocoaPodsのバージョンを固定するのも良いかもしれません。

sudo gem uninstall cocoapods
sudo gem install cocoapods -v 1.15.2
pod install

CodeMagicの設定

CodeMagicのビルドの設定ページの以下で、Podfile.lockのバージョンと合わせたら、ビルドが通りました。

まとめ

Java17とこのエラーを解消したら無事CodeMagicでビルドできました。

参考

エラー全文

    [!] The version of CocoaPods used to generate the lockfile (1.15.2) is higher than the version of the current executable (1.14.2). Incompatibility issues may arise.
Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies.
To update the CocoaPods specs, run:
  pod repo update
Error running pod install
Build failed :|
Failed to build for iOS