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

React Native项目升级Node至≥18时遇ERESOLVE依赖冲突错误

解决React Native项目Node版本升级至≥18的依赖冲突问题

核心问题

better-docs@2.7.2的peer依赖要求react@^17.0.2,但当前项目使用react@18.2.0,Node 18+版本的npm默认严格校验peer依赖规则,触发ERESOLVE解析错误。

可行解决方案

方案1:永久启用legacy-peer-deps(推荐长期使用)

由于better-docs暂未适配React 18,可配置npm默认采用旧版peer依赖解析逻辑,避免每次手动加参数:

  • 在项目根目录的.npmrc文件中添加:
    legacy-peer-deps=true
    
    之后执行npm install会自动忽略该peer依赖冲突。

方案2:升级better-docs到兼容React 18的版本

先确认better-docs是否有适配React 18的更新版本:

  • 执行命令查看所有可用版本:npm view better-docs versions
  • 若存在兼容版本,修改package.json中better-docs的版本号,例如:
    "devDependencies": {
      "better-docs": "^3.0.0" // 假设该版本支持React 18
    }
    
    再执行npm install重新安装依赖。

方案3:用overrides强制适配

如果better-docs无更新版本,可在package.json中添加overrides规则,强制让它使用项目当前的React版本:

"overrides": {
  "better-docs": {
    "react": "$react"
  }
}

该配置会让npm安装better-docs时,直接复用项目已安装的react@18.2.0来满足其peer依赖要求。

验证步骤

完成配置后,执行以下操作确保项目正常:

  1. 删除node_modules文件夹和package-lock.json文件
  2. 执行npm install
  3. 启动项目验证功能:npm start(或React Native对应启动命令)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 16:03:12