You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EAS构建iOS项目遇Firebase/CoreOnly版本兼容问题求助

解决Expo项目EAS iOS构建的Firebase/CoreOnly版本冲突问题

问题根源

从构建日志可以明确,项目中两个Firebase相关依赖对Firebase/CoreOnly的版本要求存在冲突:

  • expo-firebase-core(版本6.0.0)依赖Firebase/CoreOnly = 9.5.0
  • @react-native-firebase/app(版本17.3.1)依赖Firebase/CoreOnly = 10.5.0

CocoaPods无法同时满足这两个版本要求,导致构建失败。

解决方案

方案1:降级@react-native-firebase/app适配Expo SDK版本

Expo 47对应的Firebase依赖版本为9.x,而@react-native-firebase/app 17.x适配的是Firebase 10.x,因此需要将@react-native-firebase/app降级到适配Firebase 9.x的版本(如15.4.0):

  1. 修改package.json中的依赖:
"@react-native-firebase/app": "^15.4.0"
  1. 删除node_modules和锁文件:
rm -rf node_modules package-lock.json
  1. 重新安装依赖:
npm install
  1. 清理构建缓存并重新构建:
eas build -p ios --clear-cache

方案2:替换为Expo官方Firebase集成

如果不需要react-native-firebase的特定功能,建议使用Expo官方维护的Firebase模块,版本会自动适配Expo SDK,避免冲突:

  1. 卸载@react-native-firebase/app:
npm uninstall @react-native-firebase/app
  1. 安装Expo官方Firebase核心包:
expo install expo-firebase-app
  1. 替换其他Firebase相关依赖为Expo提供的版本(如expo-firebase-auth替代@react-native-firebase/auth等)。

方案3:强制统一Pod版本(风险提示)

若必须同时使用两个库,可以通过expo-build-properties插件强制指定Firebase/CoreOnly版本,但可能引发运行时兼容性问题,需充分测试:

  1. 修改app.json中的plugins配置:
"plugins": [
  [
    "expo-build-properties",
    {
      "ios": {
        "deploymentTarget": "13.0",
        "pods": {
          "Firebase/CoreOnly": "9.5.0"
        }
      },
      "android": {
        "compileSdkVersion": 31,
        "targetSdkVersion": 31,
        "buildToolsVersion": "31.0.0"
      }
    }
  ]
]
  1. 清理缓存后重新构建:
eas build -p ios --clear-cache

方案4:彻底清理依赖与缓存

确保本地依赖和构建服务器缓存无残留冲突:

  1. 清理本地依赖:
rm -rf node_modules package-lock.json
npm install
  1. 清理Expo本地缓存:
expo r -c
  1. 清理EAS构建缓存并重新构建:
eas build -p ios --clear-cache

内容的提问来源于stack exchange,提问作者Vas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 16:45:20