🕶️
【Flutter】freezed を久々更新したらビルドできないので対応
🚨 概要
freezed利用のFluterアプリで、ライブラリ更新後に、
↓コード生成コマンド実行後に、freezedのクラスで、エラー発生🚨
$ dart run build_runner build --delete-conflicting-outputs
🗒️ 原因
freezedのアップデート(v2 → v3.0.0)で、「abstract」(or sealed)が、定義したクラスの先頭に必須になったため。
💡 対応
import 'package:freezed_annotation/freezed_annotation.dart';
part 'HogeModel.freezed.dart';
part 'HogeModel.g.dart';
/// class HogeModel with _$HogeModel {
abstract class HogeModel with _$HogeModel { /// 💡先頭に「abstract」を追加
const factory HogeModel({
required int id,
required String name,
}) = _HogeModel;
const HogeModel._();
factory HogeModel.fromJson(Map<String, dynamic> json) =>
_$HogeModelFromJson(json);
}
Discussion