flutter 错误:这需要启用“不可为空”实验

tyg4sfes  于 2023-05-23  发布在  Flutter
关注(0)|答案(6)|浏览(153)

我正在尝试使用不可空的类型,并将其添加到我的analysis_options.yaml中:

analyzer:
  enable-experiment:
    - non-nullable

我有一个代码生成器,它利用了空性扩展。Visual Code对我的代码很好。
我试着跑:

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

5kgi1eie

5kgi1eie1#

这个问题是在升级Flutter后发生的。
我通过再次清理和升级项目依赖解决了这个问题。
在项目的根目录下运行以下命令:

flutter clean
flutter packages pub upgrade
flutter pub run build_runner build

也正如其他人所说,请确保您的sdk版本在pubspec.yaml是兼容您的flutter sdk版本。

mcvgt66p

mcvgt66p2#

为了使零安全性工作,

environment:
   sdk: ">=2.12.0 <3.0.0"

至少应该是这个版本。然后运行flutter cleanflutter pub get就可以了。

shyt4zoc

shyt4zoc3#

试试看

flutter clean

这是为我工作!

mm5n2pyu

mm5n2pyu4#

取决于你在做什么,有时它是一样简单的改变环境在您的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中使用spread语法也会导致此错误),但我不需要旧的环境。

bakd9h0s

bakd9h0s5#

对我来说,一个简单的修复方法是确保analysis_options.yaml位于根文件夹中。在我的例子中,它位于lib文件夹中,直到我将文件移到pubspec.yaml所在的文件夹中,所有实验特性都不起作用。可能发生的其他事情包括使实验功能不再需要的更新,因此除了验证文件位置之外,更新到Flutter主通道上的最新版本可能是有用的。但是,还不能让命令行运行此选项。

qvk1mo1f

qvk1mo1f6#

问题会很容易解决,做这些事情|rAhMaN

1.如果你已经升级了Flutter,那么使用flutter_console. bat中的命令“flutter downgrade”来降级你的flutter SDK包。
1.同样,在完成后运行命令“flutter pub upgrade”
1.检查您的IDE并运行“flutter pub get”
1.如果再次给予问题,请检查您的依赖项,这是强烈建议您的项目,如所有Firebase包,http,提供程序等。根据控制台面板问题管理您的依赖关系或使用命令“flutter pub downgrade”。您的问题将100%解决。
1.在这样做之后,如果你再次遇到这个问题,这意味着你没有正确地遵循我告诉你的指导方针。

相关问题