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
公式リリースノートなどを確認
- Breaking changesの一覧
- リリースノート
ライブラリの更新
# 更新の確認 $ 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系のメソッド名が変わった
一旦、ここまで!