升级Flutter SDK后pub get失败,依赖冲突问题如何解决?
Flutter主版本升级后pub get失败(依赖冲突问题)
问题根源
从依赖解析日志可以明确:
- 升级后的Flutter主版本中,
flutter_test固定了vm_service为13.0.0 - 当前使用的
riverpod_lint ^1.3.2依赖的hotreloader ^3.0.5要求vm_service版本必须在>=6.0.1 <12.0.0范围内 - 两者版本要求冲突,导致依赖解析失败
解决方案
方案1:升级riverpod_lint到兼容版本(推荐)
这是最彻底的解决方式:
- 打开项目根目录的
pubspec.yaml文件 - 将
riverpod_lint的版本约束从^1.3.2修改为^2.0.0或更高版本(2.x系列已适配更高版本的vm_service) - 执行命令:
flutter pub get
方案2:临时覆盖vm_service版本(仅应急用)
如果暂时无法升级riverpod_lint,可通过依赖覆盖强制指定兼容版本,但可能影响flutter_test部分功能:
- 在
pubspec.yaml末尾添加以下内容:dependency_overrides: vm_service: ^12.0.0 - 执行命令:
flutter pub get
方案3:全量升级依赖
执行官方提示的命令,让pub自动升级所有依赖到最新主版本,自动解决版本冲突:
flutter pub upgrade --major-versions
你之前尝试的flutter clean、清理缓存、删除pubspec.lock等操作,主要解决缓存或锁文件问题,但本次核心是依赖版本约束冲突,因此这些操作无法解决问题。
内容的提问来源于stack exchange,提问作者Zionnite
相关产品推荐
相关产品推荐

