我尝试在Dart Master分支中测试密封类,但我不断遇到此错误(它在VSCode中显示为sealed
关键字上的lint错误):
This requires the 'sealed-class' language feature to be enabled.
Try updating your pubspec.yaml to set the minimum SDK constraint to 3.0.0 or higher, and running 'pub get'.
我迄今采取的步骤:
1.将pubspec.yaml
文件环境参数设置为包含版本3.0.0
1.在我的analysis_options.yaml
文件中包含sealed-class
特性。
1.通过在终端中设置flutter channel master
,将通道更改为主机。
1.重复运行flutter clean
,flutter pub cache repair
,flutter upgrade
。
还有其他人能够让这个工作吗?下面是相关文件的一些片段。
pubspec.yaml:
...
# of the product and file versions while build-number is used as the build suffix.
version: 1.0.0+1
environment:
sdk: '>=2.18.2 <=3.0.0'
...
(NOTE:在这一个,我已经尝试了这个参数的各种配置:“3.0.0”、“3.0.0-290.0.dev”、“〉= 2.18.2”。第一个错误不允许,其他错误导致了相同的问题。)
我的analysis_options.yaml文件包含以下内容:
...
include: package:flutter_lints/flutter.yaml
analyzer:
enable-experiment:
- records
- patterns
- sealed-class
linter:
...
下面是我用flutter --version
得到的结果:
Flutter 3.9.0-1.0.pre.55 • channel master • https://github.com/flutter/flutter.git
Framework • revision d696b05165 (26 hours ago) • 2023-03-06 11:41:59 +0000
Engine • revision 197b6dae1c
Tools • Dart 3.0.0 (build 3.0.0-290.0.dev) • DevTools 2.22.2
1条答案
按热度按时间pdkcd3nj1#
我不知道这是什么,但我确实得到了更新的VSCode在某个时候,然后它似乎是在linter工作。但后来不得不使用实验标志在命令行中提到的@Olga P和@mmcdon20当我想使用它在运行应用程序。