flutter --flow-control-collections 是必需的,但它们是吗?

flutter --flow-control-collections are needed, but are they?

升级 flutter(主版本和稳定版本)和 dart 后,我​​收到关于实验的错误 --flow-control-collections 没有为我在项目中使用的各种 for 循环启用。我尝试使用 修复它,但这只会让事情变得更奇怪。所以,现在我有以下错误,告诉我我需要启用控制流收集实验,同时告诉我它不再需要。

我使用的每个 for 循环都会出现此错误。

这是我的 flutter --version 结果:

Stable:
Flutter 1.12.13+hotfix.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 27321ebbad (13 days ago) • 2019-12-10 18:15:01 -0800
Engine • revision 2994f7e1e6
Tools • Dart 2.7.0

Master:
Flutter 1.13.6-pre.16 • channel master • https://github.com/flutter/flutter.git
Framework • revision fcaf9c4070 (2 days ago) • 2019-12-21 14:03:01 -0800
Engine • revision 33813929e3
Tools • Dart 2.8.0 (build 2.8.0-dev.0.0 886615d0f9)

有什么解决办法吗?

嘿,我今天早上遇到了同样的问题,但找到了解决方法。

1) 使用此代码将 analysis_options.yaml 保存在您的根文件夹中:

analyzer:
  enable-experiment:
    - control-flow-collections

2) 不要在 for 循环之间使用方括号 {} 例如:

<Widget>[
  for (final category in categories) 
    CategoryWidget(category: category)
],

3) 重要的一步,这可能是它不适合你的原因: 将根文件夹中 pubspec.yml 文件中的 Dart 版本限制更改为 2.5.2

environment:
  sdk: ">=2.5.2 <3.0.0"

即使在更改后 dart version 也不起作用,那么只需重新启动 VS Code 或您正在使用的任何编辑器即可。然后检查错误是否存在。如果是这样,那么 运行 flutter clean.

在 pubspec.yml

中更改飞镖版本
environment:
  sdk: ">=2.6.0 <3.0.0"

然后

 flutter pub get
 flutter clean

并重新启动 Android Studio

我的项目中也遇到了这个问题,我按照以下步骤解决了我的问题:

  1. SDK: ">=2.5.2 <3.0.0" 2.Run 扑扑干净 3.RestartVSCode