Flutter の Null Safety 移行ツールが移行対象を正しく検知しない問題

はじめに

ソフトウェアエンジニアの谷藤です。

今回は、タイトルに記載の問題について解説します。

問題の整理

dart migrateを実行して移行ツールを起動したところ、一切 Null Safety 対応をしていないにも関わらず、以下のように移行対象として検知された箇所は0でした。

f:id:HiroTanifuji:20210919175815p:plain

解決方法

pubspec.yaml において Dart のバージョンを12以上に指定していたことが原因でした。

正しく検知するためには、12未満を指定している必要があったので、pubspec.yaml を以下のように変更しました。

environment:
  sdk: ">=2.11.0 <3.0.0"

移行対象として検知されるようになりました。 f:id:HiroTanifuji:20210919175818p:plain

さいごに

少しでも参考になったら嬉しいです。

質問やご指摘などがありましたら、コメントにお願いします。

読んでいただきありがとうございました。