Flutter iOS项目依赖版本冲突导致编译失败求助
解决Flutter iOS项目Pod依赖冲突问题
问题核心
你的项目中两个依赖库存在版本冲突:
- GTMSessionFetcher/Core:
firebase_storage需要版本 ≥2.1 且 <4.0,但旧版google_mlkit_text_recognition依赖的版本是 ~>1.1 - MLKitVision:
google_mlkit_commons未指定版本,而google_mlkit_text_recognition需要 ~>4.2
解决方案
1. 升级google_mlkit系列插件
旧版google_mlkit_text_recognition(0.5.0)依赖的MLKit组件版本过旧,是冲突根源。修改项目根目录的pubspec.yaml,将相关插件升级到最新稳定版:
dependencies: # 替换为pub.dev上的最新稳定版本号 google_mlkit_text_recognition: ^最新版本 google_mlkit_commons: ^最新版本
执行命令更新依赖:
flutter pub get
2. 强制统一冲突Pod版本(若升级插件后仍有问题)
进入iOS目录,编辑Podfile,添加以下代码强制锁定冲突Pod的版本,选一个同时满足所有依赖的兼容版本:
# 锁定GTMSessionFetcher版本,同时兼容firebase和MLKit要求 pod 'GTMSessionFetcher/Core', '~> 2.1.0' # 锁定MLKitVision到指定版本 pod 'MLKitVision', '~> 4.2.0'
3. 清理并重新安装依赖
执行以下命令彻底清理缓存后重新安装:
# 清理Flutter项目缓存 flutter clean # 进入iOS目录 cd ios # 删除旧的Pod锁定文件和Pods文件夹 rm -rf Podfile.lock Pods # 更新本地Pod仓库 pod repo update # 重新安装Pods pod install --repo-update
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

