🦊
firebaseの依存パッケージでエラーが発生
エラー発生
flutter pub upgradeした突然以下のようなエラーが出てビルドできなくなったことがあった
firebase_messaging_platform_interface-3.2.0/lib/src/method_channel/utils/exception.dart:13:11:
Error: Member not found: 'Error.throwWithStackTrace'.
Error.throwWithStackTrace(exception, stackTrace);
結果として原因はflutterのバージョンが古いせいでfirebaseの依存パッケージ間でバージョンエラーが起きているせいだった。
対処法
主に下記の二つどちらかでエラーは解消した。
-
flutter upgrade
でflutterのバージョンをアップグレードする - 依存パッケージのバージョンを明示的に固定する
flutterのバージョンを上げられる人はそもそもこんなエラーには出会わなそう。少し古いバージョンのバージョンでflutterを使っている人が主にぶつかるエラーだと思うので、ここでも2.の対処方法を記述する。
やり方は簡単でpubspec.ymlに下記を追記すれば良い。
dependency_overrides:
firebase_messaging_platform_interface: 3.1.6
firebase_storage_platform_interface: 4.0.14
cloud_functions_platform_interface: 5.0.21
cloud_firestore_platform_interface: 5.4.13
firebase_auth_platform_interface: 6.1.11
firebase_database_platform_interface: 0.2.0+5
firebase_performance_platform_interface: 0.1.0+4
firebase_analytics_platform_interface: 3.0.5
firebase_remote_config_platform_interface: 1.0.5
全てを書く必要はなく、エラーが発生しているパッケージのみ上書きすれば良い。
Discussion