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で一括修正

これでエラーの大半を解消できる。

続く

参考文献