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

如何升级npm依赖并解决react-native项目ERESOLVE依赖树冲突问题

依赖冲突解决步骤

冲突根因为你安装的react-native-modal-patch@0.61.0包的peer依赖仅支持react-native@^0.60.0版本,和你项目当前的0.64.2版本不匹配,npm v7及以上版本会默认严格校验peer依赖合法性,因此抛出ERESOLVE报错。

推荐解决方案(按优先级从高到低排序)

  • 替换过期依赖:react-native-modal-patch已经停止维护多年,原始补丁功能已经被官方react-native-modal包合并,你可以直接卸载当前依赖,安装官方维护的替代包:
    1. 执行卸载命令:npm uninstall react-native-modal-patch
    2. 执行安装命令:npm install react-native-modal
      该方案可以从根源解决依赖兼容问题,无后续运行风险。
  • 使用overrides强制对齐版本:如果你必须保留react-native-modal-patch包,可以在项目的package.json文件中新增overrides配置(要求npm版本≥8.3.0),强制该包使用项目现有react-native版本:
    在package.json中添加如下字段:
    "overrides": {
      "react-native-modal-patch": {
        "react-native": "$react-native"
      }
    }
    
    配置完成后重新执行npm install即可,该方案比临时忽略校验更可控。
  • 临时忽略peer依赖校验:仅适合开发阶段临时验证使用,执行安装命令时添加--legacy-peer-deps参数即可:
    npm install --legacy-peer-deps
    该方案不会修改依赖结构,只是关闭npm的peer依赖校验逻辑,存在运行时兼容报错的风险,不建议在生产项目中长期使用。
  • 全量升级项目依赖:如果需要整体更新项目依赖版本,可以先执行npm ls react-native查看所有依赖对react-native的版本要求,逐个将依赖升级到支持react-native@0.64.2的版本,完成后再执行安装命令即可。

注意:不推荐使用--force参数执行安装,该参数会直接强制覆盖依赖树,可能引发更多不可预测的依赖冲突问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:15:00