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

React Native iOS应用构建Pods时的Peer Dependency依赖冲突问题

解决EAS Build中Firebase/CoreOnly版本依赖冲突问题

问题原因

项目里expo-firebase-core(6.0.0版本)依赖Firebase/Core 9.5.0,进而需要Firebase/CoreOnly 9.5.0;而@react-native-firebase/app(16.7.0版本)直接依赖Firebase/CoreOnly 10.3.0,两个依赖对同一个Pod的版本要求不一致,导致CocoaPods无法生成兼容的Podfile。

解决方案

1. 统一Firebase依赖版本(推荐)

  • 降级@react-native-firebase/app:react-native-firebase 14.x系列对应Firebase 9.x版本,适配expo-firebase-core 6.0.0的依赖要求。执行命令:
    npm install @react-native-firebase/app@14.x.x --save
    
  • 升级expo相关依赖:若你的Expo SDK版本支持,升级expo-firebase-core到兼容Firebase 10.x的版本(如Expo SDK 49对应expo-firebase-core~11.0.0),同时确保Expo SDK版本与该库匹配。执行命令:
    expo install expo-firebase-core@latest
    
    注:升级前需确认Expo SDK版本兼容性,避免引入其他冲突。

2. 使用patch-package临时修复

若暂时无法升级/降级依赖,可修改expo-firebase-core的Pod依赖版本并生成补丁:

  • 编辑node_modules/expo-firebase-core/ios/EXFirebaseCore.podspec,找到以下行:
    s.dependency 'Firebase/Core', '9.5.0'
    
    修改为兼容10.3.0的版本范围:
    s.dependency 'Firebase/Core', '~>10.3.0'
    
  • 安装patch-package:
    npm install patch-package --save-dev
    
  • 生成补丁文件:
    npx patch-package expo-firebase-core
    
  • 将生成的patches/目录提交到版本控制,EAS Build会自动应用该补丁。

3. 检查Expo SDK兼容性

确保你的Expo SDK版本与所有Firebase相关依赖版本匹配,参考Expo官方文档中各SDK版本对应的第三方库版本列表,避免跨版本依赖冲突。

原始报错信息:

[!] CocoaPods could not find compatible versions for pod "Firebase/CoreOnly":
  In Podfile:
    EXFirebaseCore (from `../node_modules/expo-firebase-core/ios`) was resolved to 6.0.0, which depends on
      Firebase/Core (= 9.5.0) was resolved to 9.5.0, which depends on
        Firebase/CoreOnly (= 9.5.0)

    RNFBApp (from `../node_modules/@react-native-firebase/app`) was resolved to 16.7.0, which depends on
      Firebase/CoreOnly (= 10.3.0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:42:30