我正在玩非空类型,并将其添加到我的analysis_options.yaml
:
analyzer:
enable-experiment:
- non-nullable
我有一个使用可空性扩展的代码生成器。可视代码适合我的代码。
现在,我尝试运行:
flutter packages pub run build_runner watch
我收到此错误消息:
[SEVERE] Failed to snapshot build script .dart_tool/build/entrypoint/build.dart.
This is likely caused by a misconfigured builder definition.
[SEVERE] xyz.dart:95:7: Error: This requires the 'non-nullable' experiment to be enabled.Try enabling this experiment by adding it to the command line when compiling and running.
如何将--enable-experiment:non-nullable
传递给flutter packages pub run
?
如果我跑步,也会发生同样的情况:
flutter build ios
我收到错误消息:
lib/main.dart:61:26: Error: This requires the 'non-nullable' experiment to be enabled.
Try enabling this experiment by adding it to the command line when compiling and running.
同样的问题:我如何将--enable-experiment:non-nullable
传递给flutter build
?
答案 0 :(得分:27)
升级Flutter后,对我来说出现了此问题。
我通过再次清理和升级项目依赖项解决了该问题。
在项目的根目录中运行以下命令:
flutter clean
flutter packages pub upgrade
flutter pub run build_runner build
也如其他人所说,请确保您在pubspec.yaml
中的sdk版本与您的flutter sdk版本兼容。
答案 1 :(得分:4)
为了让 null 安全工作,
environment:
sdk: ">=2.12.0 <3.0.0"
至少应该是这个版本。
然后运行flutter clean
并且flutter pub get
它会起作用。
答案 2 :(得分:0)
对我来说,一个简单的解决方法是确保analysis_options.yaml位于 根文件夹。就我而言,它位于lib文件夹中, 实验性功能一直有效,直到我将文件移到同一文件夹 作为pubspec.yaml。其他可能发生的事情包括更新 使实验功能不再需要,因此请更新到 抖动主通道上的最新版本可能还有用 验证文件位置。尚未获得命令行 使用此选项运行。
答案 3 :(得分:0)
根据您的操作,有时就像更改pubspec.yaml文件中的环境以更新低端一样简单,例如,更改低端,例如
environment:
sdk: ">=2.0.0 <3.0.0"
到
environment:
sdk: ">=2.6.0 <3.0.0"
或
environment:
sdk: ">=2.7.0 <3.0.0"
这已解决了导致此错误的各种原因(在最新版本的flutter和dart中使用传播语法也会导致此错误),但是我不需要较旧的环境。
答案 4 :(得分:0)
尝试
flutter clean
这对我有用!