【问题标题】:Flutter: I'm having this issue when running: flutter pub run builder_runner watchFlutter:我在运行时遇到了这个问题:flutter pub run builder_runner watch
【发布时间】:2020-08-24 15:51:05
【问题描述】:

这是错误:

Bad state: Unexpected diagnostics:
C:\flutter\bin\cache\dart-sdk\lib\internal\internal.dart:172:16 - This requires the 'non-nullable' 
language feature to be enabled.
[SEVERE] json_serializable:json_serializable on test/widget_test.dart:

这只是在上次颤振升级之后发生的。我尝试了很多解决方案,但没有任何效果,即使我重新安装了 Flutter SDK。

这是pubspec.yaml

environment:
 sdk: ">=2.7.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  json_annotation: ^3.0.1
  cupertino_icons: ^0.1.3

dev_dependencies:
  flutter_test:
    sdk: flutter
  build_runner:
  json_serializable: ^3.3.0

测试代码:

import 'package:json_annotation/json_annotation.dart';

part 'test.g.dart';

//@JsonSerializable(nullable: true)
//@JsonSerializable(nullable: false)
@JsonSerializable()
class Test{
  final String test;
  Test(this.test);
}

【问题讨论】:

  • 尝试删除注释属性。我不确定,但我认为它可能会影响 build_runner 编译。
  • 我试过了。没有运气:(

标签: flutter dart


【解决方案1】:

解决这个问题的最简单方法

  • 将环境 sdk 降级到 2.1.0

喜欢这个

environment:
  sdk: ">=2.1.0 <3.0.0"

【讨论】:

  • 我的解决方案是将颤振通道从主通道更改为稳定通道,它对我有用:)
  • 这也是一个很好的解决方案,但是当我创建一个新项目时,它对我来说效果很好
  • 同样的问题,换到 beta 频道也有效!
  • 这对我不起作用。我仍然收到错误消息“这需要启用“不可为空”语言功能。有更好的主意吗?
  • 切换到稳定版对我们不起作用,因为我们依赖于一些新功能,而且 beta 分支非常不稳定,以至于许多之前工作的小部件显示红屏。
猜你喜欢
  • 2020-11-27
  • 2019-03-27
  • 2021-02-15
  • 1970-01-01
  • 2022-07-11
  • 1970-01-01
  • 2022-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多