Flutter执行pub get遇SDK版本匹配失败,调整环境后仍未解决求助
解决Flutter pub get版本匹配失败问题
1. 确认本地Flutter SDK版本
先检查当前使用的Flutter版本是否在项目要求的>=2.12.0 <3.0.6范围内,执行命令:
flutter --version
如果版本超出这个区间,必须切换到符合要求的版本。
2. 切换到指定SDK版本
方式一:用FVM(Flutter版本管理器)快速切换
先安装FVM(以macOS为例,其他系统参考官方文档):
brew install fvm
安装并切换到项目兼容的最高版本:
fvm install 3.0.5 fvm use 3.0.5
之后在项目根目录重新执行flutter pub get。
方式二:手动下载指定版本
到Flutter官方归档页面下载2.12.0到3.0.5之间的任意版本SDK,解压后修改系统环境变量,让flutter命令指向该版本的bin目录,再执行flutter pub get。
3. 排查依赖包冲突
若本地SDK版本符合要求仍报错,说明存在依赖包与项目SDK范围冲突。执行命令查看详细冲突日志:
flutter pub get --verbose
根据日志找到冲突的依赖包,要么将该包升级/降级到兼容项目SDK的版本,要么在项目pubspec.yaml中适当调整SDK范围(如果业务允许)。
4. 彻底清除缓存后重试
执行以下命令清理所有缓存文件,重新获取依赖:
flutter clean rm -rf .dart_tool rm -rf pubspec.lock flutter pub get
内容的提问来源于stack exchange,提问作者John Reaper
相关产品推荐
相关产品推荐

