升级ferry至0.13.0后执行build_runner编译失败求助
解决Ferry 0.13.0升级后build_runner空安全报错问题
问题根源
报错提示package:quiver不支持空安全,导致build_runner无法预编译脚本。这是因为Ferry 0.13.0依赖的间接包引入了旧版不支持空安全的quiver。
解决方案
1. 强制指定支持空安全的quiver版本
在pubspec.yaml中添加dependency_overrides,强制使用3.0.0及以上版本的quiver(该版本开始支持空安全):
dependency_overrides: quiver: ^3.2.1 # 可替换为最新稳定版
2. 更新依赖并重新执行build命令
- 运行
dart pub get更新依赖 - 再次执行build_runner命令:
dart run build_runner build --delete-conflicting-outputs
3. 额外检查项(若上述步骤无效)
- 确认项目
pubspec.yaml的environment配置支持空安全:environment: sdk: ">=2.12.0 <3.0.0" # 或更高版本的SDK - 核对Ferry主包与generator版本兼容性:Ferry 0.13.0对应
ferry_generator: ^0.7.0是兼容的,若仍有问题可尝试升级ferry_generator到最新兼容版本。
内容的提问来源于stack exchange,提问作者peter_lagoon
相关产品推荐
相关产品推荐

