克隆旧Flutter项目运行报错,Dart SDK依赖版本冲突如何修复?
问题根因
这个项目是2019年Google I/O的演示项目,官方注释里明确要求锁定Flutter 1.5.4版本,你当前使用的Flutter搭载的Dart SDK是2.15.0开发版,和项目旧版本依赖不兼容,才出现版本求解失败的报错。
解决方案
方案一:匹配项目指定Flutter版本(最稳定,不会出现其他兼容问题)
- 首先进入你本地Flutter SDK的安装目录,执行命令切换到项目要求的指定提交版本:
git checkout b593f5167bce84fb3cad5c258477bf3abc1b14eb - 执行
flutter doctor,等待Flutter完成适配更新。 - 回到项目根目录,先删除残留的旧配置:删除pubspec.lock文件,执行
flutter clean。 - 重新拉取依赖:
flutter pub get,完成后即可正常运行项目。
方案二:修改依赖适配你当前的高版本Flutter
如果你不想切换Flutter版本,可以修改pubspec.yaml里的依赖版本:
- 替换dev_dependencies下的对应依赖版本:
- 把
logging ^0.11.3+2改为logging ^1.0.0 - 把
test ^1.6.1改为test ^1.16.6
- 把
- 替换dependencies下的旧版本依赖:
- 把
provider: ^2.0.0改为provider: ^6.0.0 - 把
flare_flutter: ^1.8.3改为flare_flutter: ^3.0.2 - 把
auto_size_text: ^1.1.2改为auto_size_text: ^3.0.0
- 把
- 保存文件后执行
flutter clean清理缓存,再执行flutter pub get拉取依赖。 - 如果运行时报空安全相关错误,启动时追加参数即可:
flutter run --no-sound-null-safety
内容的提问来源于stack exchange,提问作者Ali Khan
相关产品推荐
相关产品推荐

