我刚刚在DartPad中尝试了以下内容:
void main() {
int? x;
}
并收到以下错误:
Error compiling to JavaScript:
main.dart:2:6:
Error: This requires the 'non-nullable' experiment to be enabled.
如何启用该实验?我正在使用 Flutter SDK。
实验是否已经支持零安全静态分析?
将以下行添加到 analysis_options.yaml
analyzer:
enable-experiment:
- non-nullable
通过三个步骤启用不可为空的实验:
-
将 dart-sdk 版本添加到 pubspec.yaml
environment: sdk: '>=2.8.0-dev.0 <2.8.0'
-
将启用不可为空的实验添加到 analysis_options.yaml
analyzer: enable-experiment: - non-nullable
-
运行您的 Dart 代码:
dart --enable-experiment=non-nullable ./bin/hello_dart.dart
通过将标志--enable-experiment=non-nullable
传递给编译器或分析器来启用试验。
它还不是一个完整的功能,所以没有关于它将做什么的承诺。 随意尝试,但不要将标志用于任何严肃的事情。
对我来说,删除pubspec.lock并重新运行可以解决问题。我正在将项目从Windows导入Mac。
手动删除pubspec.lock
并运行flutter pub get
解决了问题。就我而言,这是由于回归。