Flutter启用constructor-tearoffs升级SDK到2.14.0仍报错如何解决
Flutter constructor-tearoffs 报错解决方案
根本原因
Dart 的 constructor-tearoffs(构造函数拆离)特性从 2.15.0 版本才正式稳定支持,你设置的2.14.0版本未达到最低要求,因此修改后报错依旧存在。
两种解决路径
路径1:升级SDK版本(推荐)
- 打开项目根目录的
pubspec.yaml,找到environment配置块,将SDK最低约束调整为2.15.0及以上:
environment: sdk: '>=2.15.0 <3.0.0'
- 依次执行以下命令刷新依赖:
flutter cleanflutter pub get
- 重启当前使用的IDE,清除旧的配置缓存。
- 若执行后仍报错,运行
flutter --version查看本地Dart版本,若低于2.15.0,执行flutter upgrade升级Flutter版本即可。
路径2:修改代码写法(无需升级SDK)
如果暂时不想升级SDK版本,可直接修改代码,不使用构造函数拆离语法,给broadcast补充调用括号即可:
StreamController<LocationModel> locationController = StreamController<LocationModel>.broadcast();
修改后重新运行项目即可消除报错。
内容的提问来源于stack exchange,提问作者Kim Lo
相关产品推荐
相关产品推荐

