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

运行npm install报ERESOLVE could not resolve依赖冲突如何解决

问题根因

@react-native-firebase 生态所有子包(auth、storage等)强依赖同版本的核心包@react-native-firebase/app,跨大版本混装必然触发peer依赖冲突。你当前项目里@react-native-firebase/auth是14.2.1版本,但app、storage包停留在13.0.1版本,版本不匹配,加上npm 7+默认开启严格peer依赖校验,直接抛出ERESOLVE报错。

可行解决方案

方案1:统一所有firebase相关依赖版本(根治,优先选用)

这是官方要求的标准用法,不会留兼容隐患:

  1. 打开项目根目录的package.json,找到所有@react-native-firebase/开头的依赖,把版本号全部对齐到同一个值,两种选择都可以:
    • 统一升级到14.2.1:把@react-native-firebase/app、@react-native-firebase/storage的版本都改成14.2.1,和auth版本对齐
    • 统一降级到13.0.1:把@react-native-firebase/auth的版本改成13.0.1,和现有app、storage版本对齐

    注意:如果项目里还有其他@react-native-firebase/开头的包(比如messaging、crashlytics、firestore等),必须全部改成同一个版本号,不能漏

  2. 删除项目根目录下的node_modules文件夹和package-lock.json文件
  3. 重新执行npm install即可正常安装。

方案2:临时跳过peer依赖校验(快速启动项目用,不推荐长期使用)

如果暂时不想调整依赖版本,可以执行安装命令时加参数让npm跳过严格的peer依赖校验:

npm install --legacy-peer-deps

这个参数会让npm沿用v6及之前版本的宽松依赖解析逻辑,不会强制阻断peer依赖不匹配的安装流程。注意不要用--force参数,强制覆盖依赖大概率会引发运行时的玄学兼容问题。

之前操作无效的原因
  • 单独降级某一个包没有效果,只要存在任意一个@react-native-firebase子包和核心app包版本不一致,就会触发冲突
  • npm audit fix的作用是修复存在已知安全漏洞的依赖版本,不会处理这种跨大版本的peer依赖匹配问题,对当前故障无效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 09:03:21