403 文字
2 分
freezedでxxx.g.dartが生成されなくてキレている人へ
2024-02-14

チェックポイント#

その1 必要なパッケージはちゃんと入ってる?#

https://pub.dev/packages/freezed

CleanShot 2024-02-14 at 16.20.57@2x.png

Readmeのinstallセクションで必要なパッケージが記載されている。Freezed単体だけでは動かないので注意。

あとちゃんと公式のドキュメントを見よう(俺な)

その2 ファイル名をミスってないか?#

CleanShot 2024-02-14 at 16.21.58@2x.png

partのファイル名とlib配下にあるファイル名が違ってると生成できないで。 アホ初歩的なミスだけど俺はやらかしたので書いておく

その3 puspec.yamlのインデントがあっているか?#

CleanShot 2024-02-14 at 16.23.47@2x.png

ターミナルからパッケージをインストールした人は問題ないけど、 ファイルに直接入力した人は要注意。 インデントミスっててちゃんとインストールできてなかったりする。

その4 .fromJsonをちゃんと書いてる?#

例えば飯のAPIを叩きたいときにRestaurantクラスを書いたとする

factory Restaurant.fromJson(Map<String, dynamic> json) =>
_$RestaurantFromJson(json);
.fromJson//コレが必要なので注意

コレちゃんと書いてないと動かんよ。

その5 ていうかpartを記述していない#

CleanShot 2024-02-14 at 16.28.37@2x.png

赤枠の部分な。意外と忘れがち。

その他#

ファイルがちゃんとlibとbinディレクトリの中にある?#

特に何も指定しないとlib/かbin/配下のファイルだけが生成対象となるので注意。

pubspec.lockを一旦削除#

コレは俺のカンやけど、pubspec.lockを削除して再度

flutter pub get

すると治ることもある。

ターミナルとエディタを再起動#

これでも治ることがある。(困ったときは再起動ってやつやな)

freezedでxxx.g.dartが生成されなくてキレている人へ
https://tm20314.github.io/blog/posts/solve-freezed-generation-issue/
作者
TumoTumo
公開日
2024-02-14
ライセンス
CC BY-NC-SA 4.0