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

Posted

技术标签:

【中文标题】flutter --flow-control-collections 是必需的,但它们是吗?【英文标题】:flutter --flow-control-collections are needed, but are they? 【发布时间】:2020-04-14 22:13:36 【问题描述】:

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

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

这是我的颤振 --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】:

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

    SDK: ">=2.5.2 flutter clean 3.重启VSCode

【讨论】:

【参考方案2】:

在 pubspec.yml 中更改 dart 版本

environment:
  sdk: ">=2.6.0 <3.0.0"

然后

 flutter pub get
 flutter clean

然后重启 Android Studio

【讨论】:

【参考方案3】:

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

【讨论】:

【参考方案4】:

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

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"

【讨论】:

标志 control-flow-collections 不再需要 2.2.2 作为最低版本,发布获取,删除 if() 的括号并重新启动 androidStudio 对我来说已经足够了。

以上是关于flutter --flow-control-collections 是必需的,但它们是吗?的主要内容,如果未能解决你的问题,请参考以下文章

[Flutter] flutter项目一直卡在 Running Gradle task 'assembleDebug'...

flutter 日志输出,Flutter打印日志,flutter log,flutter 真机日志

Flutter开发 Flutter 包和插件 ( Flutter 包和插件简介 | 创建 Flutter 插件 | 创建 Dart 包 )

flutter与原生混编(iOS)

Flutter-布局

如何解决flutter gradle build error?C:\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 991