Expo EAS iOS构建失败:Pod安装遇依赖版本兼容问题
iOS EAS构建Pod安装失败解决方案
核心冲突分析
1. GoogleMaps版本冲突
react-native-maps@0.29.4存在双重依赖矛盾:
- 直接依赖
GoogleMaps (= 3.5.0) - 同时依赖
Google-Maps-iOS-Utils (= 2.1.0),而后者对GoogleMaps的版本要求未明确限定,导致CocoaPods无法匹配兼容版本。
2. nanopb版本冲突
Firebase相关库版本不匹配引发依赖链冲突:
expo-firebase-core@4.1.1依赖Firebase/Core@7.7.0,要求nanopb (~> 2.30907.0)@react-native-firebase/firestore@12.9.3依赖Firebase/Firestore@8.8.0,要求nanopb (~> 2.30908.0)
两个版本范围无交集,导致CocoaPods无法解析。
3. Xcode项目UUID警告
<PBXResourcesBuildPhase>出现未知UUID,属于Xcode项目文件合并残留问题,一般不影响构建,但可后续清理。
具体解决步骤
步骤1:统一Firebase库版本
expo-firebase-core与react-native-firebase版本需对应同一Firebase主版本:
- 方案A:升级
expo-firebase-core到支持Firebase 8.x的版本(如^5.0.0及以上),确保与@react-native-firebase/firestore@12.9.3兼容 - 方案B:降级
@react-native-firebase/firestore到11.x版本(对应Firebase 7.x),与expo-firebase-core@4.1.1匹配
修改package.json后执行npm install或yarn install。
步骤2:修复react-native-maps依赖冲突
两种可选方案:
- 方案A:升级
react-native-maps到0.30.0及以上版本,该版本已修复Google-Maps-iOS-Utils的依赖版本问题 - 方案B:手动在
ios/Podfile中强制指定版本:pod 'GoogleMaps', '3.5.0' pod 'Google-Maps-iOS-Utils', '2.1.0', :modular_headers => true
步骤3:清理并重新构建
执行以下命令清理残留文件:
cd ios rm -rf Pods Podfile.lock *.xcworkspace pod install --repo-update
步骤4:升级CocoaPods版本
日志提示当前版本可升级到1.11.3,执行:
sudo gem install cocoapods
内容的提问来源于stack exchange,提问作者Tiago
相关产品推荐
相关产品推荐

