설레다-흐름 제어 수집이 필요하지만 그것들은?


14

flutter (마스터 및 안정적인 버전 모두)와 다트를 업그레이드 한 후, 프로젝트에서 사용중인 다양한 for-loop에 대해 flow-control-collections를 사용할 수 없다는 실험에 대한 오류가 발생합니다. 이 항목을 사용하여 문제를 해결하려고 시도했지만 상황이 이상해졌습니다. 이제 아래 오류가 발생하여 control-flow-collections experiement가 활성화되어야하지만 동시에 더 이상 필요하지 않다는 것을 알려줍니다.

 eex

이 오류는 내가 사용하는 모든 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
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)

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

답변:


40

안녕하세요, 오늘 아침에 같은 문제가 있었지만 해결책을 찾았습니다.

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"

16
3 번 트릭을했다
Ali80

깃발 control-flow-collections은 더 이상 필요하지 않습니다
jibiel

10

pubspec.yaml 에서 최소 Dart 버전 만 업데이트하면 충분합니다.

environment:
  sdk: ">=2.5.0 <3.0.0"

에서 다트 2.5 변경 로그 노트 당신은 추가에 대한 새로운 옵션을 볼 수있는 if컬렉션 문자로 요소를.


5

변경 한 후에도 dart version작동하지 않으면 VS Code사용중인 편집기를 다시 시작하십시오 . 그런 다음 오류가 있는지 확인하십시오. 그렇다면을 실행하십시오 flutter clean.


3

pubspec.yml에서 다트 버전 변경

environment:
  sdk: ">=2.6.0 <3.0.0"

그때

 flutter pub get
 flutter clean

그리고 Android Studio를 다시 시작하십시오.


2

최소 Dart 버전 만 업데이트하면 pubspec.yaml충분합니다.

environment:
  sdk: ">=2.7.0 <3.0.0"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.