「flutter_localizations from sdk is incompatible with firebase_auth」への対処法

先日3月3日のひなまつりの日に、Flutter(フラッター)のバージョン2.0が華々しく安定版としてリリースされましたが、まだリリース直後ということもあってか、Flutter1.xで動いていたプロジェクトが突如動かなくなったりとか、導入当初によくある混乱が色々あるようです。

その中で、Flutterアプリを多言語対応するために使うSDK直属のパッケージである「flutter_localizations」とFirebaseの認証機能である「firebase_auth」を組み合わせたプロジェクトをFlutter2.0で動かそうとするとこんなエラーが出てしまうことがあるようです。

 

この例では「flutter_localizations」と「firebase_auth」のNull Safety対応一歩手前のバージョン(0.20)間の依存関係が解消できていないというエラーが出ていますが、その理由は上記エラーコードを突き詰めていくと

  • 「flutter_localizations」で使っている(依存している)「intl」パッケージのバージョンが0.17.0であるのに対し
  • 「firebase_auth」で使っている「intl」パッケージのバージョンが0.16.1であるため

となっているので、以下の要領でpubspe.yamlファイルで「intl」パッケージのバージョンを上書き(override)してやると解決します。

dependency_overrides:
  intl: ^0.17.0-nullsafety.2

(詳しくは、以下の動画で解説していますので、よろしければ御覧ください)

こんな記事も読まれています

おすすめコンテンツ




Flutter(フラッター)


みんプロ作成アプリ




TOP