当我从工作电脑把项目切换到笔记本(笔记本上的环境是临时安装的,电脑上是之前安装的,所以两者的sdk不是同一个版本)上时遇到了这个问题。
这里是遇到问题后的日志
E:\Flutter_Sdk\flutter\bin\flutter.bat --no-color packages get
Running "flutter packages get" in LearnFlutter...
The current Dart SDK version is 2.1.0-dev.4.0.flutter-cd9a42239f.
Because flutterdemo depends on build_runner >=0.1.1 <=0.9.1 which requires SDK version >=1.9.1 <2.0.0-∞, version solving failed.
pub get failed (1)
Process finished with exit code 1
解决方法
1.打开pubspec.yaml找到对应的build_runner
dev_dependencies: build_runner: ^0.8.0
可以看到报错时候依赖的是哪一个版本,然后当我们又不知道目前到底要依赖那个版本才算是合适的正确的时候我们可以这样做
dev_dependencies: build_runner: any
any可以自动的调用pub的版本分析器来寻找最合适的能够避免冲突的依赖版本并下载,这个时候就没问题了,
注意:any不能一直留在这里,我们需要找到正确的版本号来替换any,因为在开发过程中不确定性版本号,可能导致成为项目崩溃的最大隐患,也不方便调式
2.应该怎么去找正确的版本号
打开项目下的pubspec.lock文件,这是一个根据项目依赖所生成的文件,然后找到里面的build_runner看依赖的是那个版本,去pubspec.yaml里面把any改成对应的版本号,这样就完美解决了