React Native Expo构建因CocoaPods版本不符失败,配置未生效如何解决?
解决方案
1. 确认构建使用的配置profile匹配
你仅在development配置的iOS字段中指定了CocoaPods版本,若执行构建时选择了preview/production配置,该配置不会生效。你可以选择:
- 构建时明确指定使用development profile:
eas build --platform ios --profile development - 给所有需要iOS构建的profile都补充
cocoapods版本配置
2. 全局配置CocoaPods版本
你可以将CocoaPods版本配置放在build下的顶层iOS字段中,对所有构建profile生效,修改后的eas.json参考如下:
{ "cli": { "version": ">= 0.38.1" }, "build": { "ios": { "cocoapods": "1.11.2" }, "development": { "distribution": "internal", "android": { "gradleCommand": ":app:assembleDebug" }, "ios": { "buildConfiguration": "Debug" } }, "preview": { "distribution": "internal" }, "production": {} }, "submit": { "production": {} } }
3. 直接指定EAS构建镜像(优先级最高)
如果单独指定CocoaPods版本仍被忽略,可直接选择内置了高版本CocoaPods的构建镜像,无需单独配置版本,示例配置如下:
{ "cli": { "version": ">= 0.38.1" }, "build": { "image": "macos-monterey-12.6-xcode-14.1", "development": { "distribution": "internal", "android": { "gradleCommand": ":app:assembleDebug" }, "ios": { "buildConfiguration": "Debug" } }, "preview": { "distribution": "internal" }, "production": {} }, "submit": { "production": {} } }
上述镜像默认内置CocoaPods 1.11.3,完全满足RNFBApp的版本要求。
4. 清理构建缓存重新执行
执行构建命令时增加--clear-cache参数清除历史缓存,避免旧环境被复用:
eas build --platform ios --clear-cache
内容的提问来源于stack exchange,提问作者sub_server
相关产品推荐
相关产品推荐

