くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

Flutterのバージョンアップ対応時にやったこと

Flutter 2.10.5 -> 3.7.1へのバージョンアップ時にやったことの備忘録。

ちなみに、fvmをつかってバージョン管理をしています。

書きかけのメモの放流なので、超雑記です。

やったこと

fvmで3.7.1のインストール

$ fvm install 3.7.1
$ fvm use 3.7.1

変なエラーが出る場合は、キャッシュを削除すると解決したりする。

$ fvm flutter clean cache
$ fvm flutter pub get

公式リリースノートなどを確認

ライブラリの更新

# 更新の確認
$ fvm flutter pub outdated

# バージョンの更新
$ fvm flutter pub upgrade
# or 手動で更新

実際に対応した例。

  • firebaseのメジャーアップデートが必要だった
  • dart3系のバージョンがありダウングレードした(build_runner@2.4.0)
The current Dart SDK version is 2.19.1.

Because my_app depends on build_runner >=2.4.0 which requires SDK version >=3.0.0-134.0.dev <4.0.0, version solving failed.
pub get failed
  • flutter_flavorizrとflutter_native_splashのimageのバージョンが異なり、
    flutter_native_splashを2.2.16に下げた
Because flutter_flavorizr >=2.1.5 depends on image ^3.2.2 and flutter_native_splash >=2.2.17 depends on image ^4.0.10, flutter_flavorizr >=2.1.5 is incompatible with flutter_native_splash >=2.2.17.
So, because my_app depends on both flutter_native_splash ^2.2.17 and flutter_flavorizr ^2.1.5, version solving failed.
  • intl@0.18.0は高すぎてエラー。0.17.0にした
Because archange_app depends on flutter_localizations from sdk which depends on intl 0.17.0, intl 0.17.0 is required.
So, because my_app depends on intl ^0.18.0, version solving failed.
  • GoRouterのマイグレーション
    • go_router | Flutter Package
    • 3.0 -> 4.0
      • GoRouteInformationProviderが導入され、初期化時に設定が必要になった
    • 4.0 -> 5.0
      • redirectでBuildContextを受け取るようになった
      • navigatorBuilderが廃止された
      • webのpathStrategyはFlutter公式を利用するようになった
    • 5.0 -> 6.0
      • GoRouteDataのインターフェースが変わった
      • GoRouter.of(context)のreplace系のメソッド名が変わった

一旦、ここまで!