flutter --flow-control-collections sont nécessaires, mais le sont-ils?


14

Après la mise à niveau de flutter (versions master et stable) et dart, j'obtiens une erreur à propos de l'expérience --flow-control-collections n'étant pas activé pour les diverses boucles for que j'utilise dans le projet. J'ai essayé de le réparer en utilisant cette entrée, mais cela rendait les choses encore plus étranges. Donc, maintenant, j'ai l'erreur ci-dessous qui me dit que j'ai besoin que l'expérience de contrôle-flux-collections soit activée tout en me disant simultanément qu'elle n'est plus requise.

 eex

Cette erreur apparaît pour chaque boucle for que j'utilise.

Voici mon flottement - 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
ToolsDart 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
ToolsDart 2.8.0 (build 2.8.0-dev.0.0 886615d0f9)

Des idées pour résoudre ce problème?

Réponses:


40

Hé, j'ai eu le même problème ce matin mais j'ai trouvé une solution.

1) Conservez le fichier analysis_options.yaml dans votre dossier racine avec ce code:

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

2) N'utilisez pas de crochets {} entre vos boucles for Ex:

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

3) Étape importante qui explique probablement pourquoi cela ne fonctionne pas pour vous: modifiez votre contrainte de version Dart dans le fichier pubspec.yml de votre dossier racine en 2.5.2

environment:
  sdk: ">=2.5.2 <3.0.0"

16
numéro 3 a fait l'affaire
Ali80

Le drapeau control-flow-collectionsn'est plus requis
jibiel


5

Même après avoir changé le dart versionn'a pas fonctionné, redémarrez simplement votre VS Codeou n'importe quel éditeur que vous utilisez. Vérifiez ensuite si l'erreur existe. Si c'est le cas, exécutez flutter clean.


3

Changer la version de fléchettes dans pubspec.yml

environment:
  sdk: ">=2.6.0 <3.0.0"

puis

 flutter pub get
 flutter clean

Et redémarrez Android Studio


2

La simple mise à jour de la version minimale de Dart en pubspec.yamlme suffisait:

environment:
  sdk: ">=2.7.0 <3.0.0"
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.