Open1

FlutterCrashlyticsでCan't load Kernel binary: Invalid kernel binary format versionとなって辛かった

NoriyoshiSatoNoriyoshiSato
$ flutterfire configure


を使ってFlutterでFirebaseを構成をした際に残っていたキャッシュでエラーがでてiOSビルドができなくなった。それぞれ試した内容をメモします。

結論

$ dart pub cache clear を使ってflutterfireを完全にクリアすると解消した

発生したエラー


Firebase Crashlyticsをセットアップする際に以下の様なエラーが発生した

Can't load Kernel binary: Invalid kernel binary format version
ERR flutterfire_cli as globally activated doesn't support Dart 3.2.0-42.2.beta.
​
try $dart pub global activate flutterfire_cli

Can't load Kernel binary: Invalid kernel binary format version


は実行中のDart versionと異なるversionで実行されたキャッシュが残っていると発生することがあるらしい

ERR flutterfire_cli as globally activated doesn't support Dart 3.2.0-42.2.beta.
​
try $dart pub global activate flutterfire_cli


実行しているdartのバージョンではflutterfire側がサポートしていない、とのことだったのでバージョンを確認

$ fvm flutter --version
Flutter 3.22.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 761747bfc5 (5 weeks ago) • 2024-06-05 22:15:13 +0200
Engine • revision edd8546116
Tools • Dart 3.4.3 • DevTools 2.34.3
​
​
$ flutterfire --version
1.0.0


エラーに表示されているエラーとバージョンが異なるようでしたが、flutterfireを最新化してみた。がエラーは変わらず。

$ dart pub global deactivate flutterfire_cli
$ dart pub global activate flutterfire_cli


を試してみましたがこちらもエラーに変化なし。

$ dart pub cache repair


を実行してcacheに含まれるflutterfireを最新化しても解消せず。

最終的にflutterfireがインストールされている /.pub-cache/ のキャッシュファイルを削除するために以下を実行

$ dart pub cache clear


※注意: /.pub-cache/ に含まれる全てのpackageがcleanされてしまうので該当ディレクトリのファイルを確認してください

$ flutter pub get して最新化したところ解消