React Native安装Pods遇GoogleMLKit/FaceDetection依赖冲突问题
解决CocoaPods GoogleMLKit/FaceDetection版本冲突问题
问题分析
你遇到的版本冲突源于两个React Native库对GoogleMLKit/FaceDetection的依赖不一致:
react-native-face-detection@0.1.1强制依赖2.2.0版本vision-camera-face-detector@0.1.8未指定版本,CocoaPods会尝试拉取最新兼容版;同时你手动指定的GoogleMLKit/TextRecognition@2.6.0与MLKitCore@2.2.0存在版本不匹配(Google MLKit的核心组件与子组件必须保持版本一致)
解决方案
步骤1:移除Podfile中手动添加的MLKit组件
删除Podfile里以下三行手动声明的依赖——RN依赖库会自动引入对应的MLKit组件,手动指定会干扰版本解析:
pod 'GoogleMLKit/FaceDetection', '2.2.0' pod 'GoogleMLKit/MLKitCore', '2.2.0' pod 'GoogleMLKit/TextRecognition', '2.6.0'
步骤2:添加版本统一的Post Install钩子
在Podfile末尾添加post_install钩子,强制所有GoogleMLKit组件使用与react-native-face-detection兼容的2.2.0版本,同时确保核心组件版本一致:
post_install do |installer| installer.pods_project.targets.each do |target| # 统一GoogleMLKit所有组件版本为2.2.0 if target.name.start_with?('GoogleMLKit') target.version = '2.2.0' # 可选:设置最低iOS版本(部分MLKit版本要求iOS 13.0+) target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' end end end end
步骤3:清理缓存并重新安装
执行以下命令彻底清理CocoaPods缓存与旧依赖:
# 删除Pods文件夹和锁文件 rm -rf Pods Podfile.lock # 清理CocoaPods缓存 pod cache clean --all # 重新安装依赖并更新仓库 pod install --repo-update
备选方案:升级RN依赖库版本
如果上述方法无效,检查react-native-face-detection是否有更新版本支持更高的GoogleMLKit版本,或降级vision-camera-face-detector到明确支持2.2.0版本的分支/版本。
内容的提问来源于stack exchange,提问作者İbrahim Uyar
相关产品推荐
相关产品推荐

