带颤振的json_可序列化包上的错误状态意外诊断

带颤振的json_可序列化包上的错误状态意外诊断,json,flutter,serializable,build-runner,Json,Flutter,Serializable,Build Runner,我正在尝试在Flatter应用程序中为我的模型自动生成json_serializable代码 以下是我的模型的一个示例: import 'package:propro/src/models/product_model.dart'; import 'package:propro/src/models/user/address_model.dart'; import 'package:propro/src/models/user/membership_model.dart'; import 'pac

我正在尝试在Flatter应用程序中为我的模型自动生成
json_serializable
代码

以下是我的模型的一个示例:

import 'package:propro/src/models/product_model.dart';
import 'package:propro/src/models/user/address_model.dart';
import 'package:propro/src/models/user/membership_model.dart';
import 'package:propro/src/models/user/review_model.dart';
import 'package:propro/src/models/user/setting_model.dart';
import 'package:json_annotation/json_annotation.dart';

part 'user_model.g.dart';

@JsonSerializable(explicitToJson: true)
class User {
  final String uid;
  final String email;
  final String password;
  final String firstName;
  final String lastName;
  final String gender;
  final List<Address> addresses;
  final List<Review> reviews;
  final List<Product> wishlist;
  final Membership membership;
  final Setting setting;

  User({
    this.uid,
    this.email,
    this.password,
    this.firstName,
    this.lastName,
    this.gender,
    this.addresses,
    this.reviews,
    this.wishlist,
    this.membership,
    this.setting,
  });

  factory User.fromJson(Map<String, dynamic> json) => _UserFromJson(json);

  Map<String, dynamic> toJson() => _UserToJson(this);
}
并命令:

flutter packages pub run build_runner build
我有这个:

PS C:\tofiq\fp\propro>flatter包发布运行构建\u运行构建
[信息]正在生成生成脚本。。。
[信息]生成生成生成脚本已完成,耗时755毫秒
[警告]由于缺少资产图,已删除以前的快照。
[信息]正在创建生成脚本快照。。。。。。
[信息]正在创建生成脚本快照。。。完成,耗时22.3秒
[信息]初始化输入
[信息]正在构建新的资产图表。。。
[信息]构建新资产图表完成,耗时1.1秒
[信息]正在检查意外的预先存在的输出。。。。
[信息]检查意外的预先存在的输出。完成,耗时2毫秒
[信息]正在运行生成。。。
[信息]正在生成SDK摘要。。。
[SEVERE]json_serializable:json_serializable on lib/main.dart:
错误状态:意外诊断:
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u buffers.dart:119:41-这要求启用“非空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u buffers。dart:152:17-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u缓冲区。dart:88:62-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u buffers.dart:153:38-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u buffers.dart:186:51-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u buffers。dart:133:32-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u buffers.dart:154:25-这要求启用“非空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u缓冲区。dart:18:17-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u缓冲区。dart:64:4-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u buffers.dart:168:32-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u缓冲区。dart:47:14-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u缓冲区。dart:159:38-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u buffers。dart:132:37-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u buffers。dart:118:48-这要求启用“不可为空”语言功能。
C:\tofiq\flatter\bin\cache\pkg\sky\u engine\lib\ui\channel\u缓冲区。dart:19:11-这要求启用“不可为空”语言功能。
[SEVERE]json_serializable:json_serializable on lib/main.dart:
[信息]已过5.7秒,完成了1/17个操作。
[信息]已过6.8秒,完成了1/17个操作。
[信息]已过7.8秒,完成了1/17个操作。
[信息]已过8.9秒,完成了1/17个操作。
[信息]已过10.0秒,完成了1/17个操作。
[信息]已过11.0秒,完成了1/17个操作。
[信息]12.1秒已过去,17项行动中有1项已完成。
和我的颤振版本信息:

PS C:\tofiq\fp\propro>flatter升级
颤振已在通道测试版上更新
颤振1.20.0•通道beta•https://github.com/flutter/flutter.git
框架•修订版916c3ac648(9天前)•2020-08-01 09:01:12-0700
发动机•版本d6ee1499c2
工具•Dart 2.9.0(build 2.9.0-21.10.beta版)
我已经尝试过使用不同版本的package和build_runner,但出现了相同的错误


如何修复此自动生成的运行程序?

我通过添加

dependency_overrides:
  analyzer: '0.39.14'
到pubspec.yaml

2选项

dev_dependencies:
  flutter_test:
    sdk: flutter
  build_runner:
  json_serializable:
将频道更改为dev(dart 2.10+可用)

如前所述,添加


analyzer:'0.39.14'
dependency\u覆盖
部分

对于我来说,修复程序正在升级
analyzer:'0.39.15'
我使用的是
sdk:>=2.10.0