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が作成されると思います。