Bitrise构建Flutter应用持续使用旧版Flutter/Dart问题求助
Flutter Bitrise构建"super-parameters"语言特性错误解决方案
问题描述
通过Bitrise构建Flutter应用时,持续触发以下错误,导致分析和构建失败:
Error: The 'super-parameters' language feature is disabled for this library. Try removing the package language version or setting the language version to 2.17 or higher. super.key
当前环境配置:
- Bitrise的Flutter安装步骤已启用upgrade
- pubspec.yaml中SDK版本声明:
sdk: ">=2.17.6 <3.0.0"
- 已尝试禁用构建缓存、新建部署流水线,问题未解决
解决步骤
1. 检查单个Dart文件的版本指令
部分Dart文件顶部可能存在// @dart=2.16或更低版本的注释,会覆盖pubspec的全局版本设置。
- 全局搜索项目中所有
.dart文件,找出带有@dart=的版本声明,删除或修改为// @dart=2.17及以上。
2. 锁定Bitrise上的Flutter版本
开启upgrade后仍可能安装不符合要求的版本,需确认并锁定版本:
- 在Bitrise流水线中添加脚本步骤,执行
flutter --version,查看实际运行的Flutter和Dart版本(Flutter 2.17.6对应Dart 2.17.6)。 - 若版本不符,在Flutter安装步骤中关闭"upgrade"选项,手动指定版本号为
2.17.6(或符合<3.0.0限制的更高兼容版本)。
3. 排查依赖包的版本限制
第三方依赖可能内置过低的SDK版本声明,导致全局分析失败:
- 执行
flutter pub deps生成依赖树,检查各依赖的pubspec是否设置了<2.17的SDK版本。 - 对存在问题的依赖,优先升级到支持2.17+的版本;若无法升级,可在
pubspec.yaml中添加dependency_overrides强制覆盖其SDK声明(注意:此操作可能引发兼容风险)。
4. 彻底清理构建环境残留
即使禁用缓存,仍可能存在旧构建文件干扰:
- 在Flutter构建步骤前添加脚本步骤,执行以下命令:
flutter clean rm -rf .dart_tool flutter pub get
5. 检查分析器配置
analysis_options.yaml可能强制限制了语言版本:
- 打开项目根目录的
analysis_options.yaml,查找类似以下的配置:
analyzer: language: version: 2.16
- 将版本修改为
2.17或删除该配置块,让分析器遵循pubspec的全局设置。
内容的提问来源于stack exchange,提问作者mosab
相关产品推荐
相关产品推荐

