freezed.dartが作成されない時の対処方法 


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

タイトルとURLをコピーしました