Flutter1系 -> 2系にアップグレード
ざっとまとめると、今回行った手順は以下
1. 各プラグインのnull-safety対応バージョンを調べる
flutter pub outdated --mode=null-safety
2. null-safety対応していないパッケージを整理
別のパッケージを使うなり、使用をやめるなりする。
未対応パッケージがあるとマイグレーションツールが使えないため、1つ1つ手作業で修正する必要が出てくる。
3. パッケージのバージョンをnull-safetableバージョンまで上げる
flutter pub upgrade --null-safety
4. マイグレーションツールを使ってnull-safety対応
dart migrate
なお、この時何度かエラーにぶち当たる。列挙すると、
- 自分で作っているdartファイルのimportがnull-safetyじゃない判定を食らう (それを解析するのがお前の役目じゃないのか)
- パッケージ内部解析エラー (意味不明)
- 自分で作ってるdartファイルのimportで例外が発生 (また?)
5. マイグレーションツールを起動
最終的に、上記のエラーメッセージの誘導に従って以下オプションを付けて起動
dart migrate --skip-import-check --ignore-errors --ignore-exceptions
6. APPLY MIGRATIONで一括修正
これでエラーの大半を解消できる。
続く