freezedを使用してイミュータブルなクラスを設計する際に、
ターミナルで「flutter pub run build_runner build –delete-conflicting-outputs」を実行しても
クラス名.freezed.dartファイルが自動生成されない時の対処法です。
この対応で全てが解決される訳ではありませんが、参考になれば幸いです。
エラーが発生する場合
「flutter pub run build_runner build –delete-conflicting-outputs」を実行した場合、
エラーが発生する場合は特定が容易です。エラー内容を確認し、原因を取り除きましょう。
通常以下の様にターミナル上にエラー箇所が表示されます。
上記の「package:~dart:24:9」をクリックすると当該コードに移動します。
エラーが発生しないがfreezed.dartが作成されいない場合
「flutter pub run build_runner build –delete-conflicting-outputs」を実行した場合に、
エラーは出力されていないが、freezed.dartが作成されいない場合があります。
私の場合、新規でクラスファイル作成した際に、コマンドを実行しても作成されませんでした。
原因は、前回コマンドを実行した時のキャッシュが残っており、新規のクラスファイルは
更新対象として認識されていませんでした。
一度クリーンすることで解決しました。
同様の事象である場合、以下の順でコマンドを実行してください。
flutter clean
flutter pub run build_runner build --delete-conflicting-outputs
新規のクラスファイルに関連するfreezed.dartが作成されると思います。