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

解决Chakra UI依赖树解析失败(ERESOLVE)问题

解决Chakra UI与React 16的依赖冲突(ERESOLVE错误)

错误根源

你的项目依赖React 16.14.0,但@chakra-ui/checkbox@^1.0.0的版本范围会自动拉取最新兼容子依赖@chakra-ui/system@2.3.0,而该版本要求React版本>=18,直接导致依赖树解析冲突。

解决方案

方案1:锁定Chakra UI组件到React 16兼容版本(推荐)

你当前使用的@chakra-ui/react@1.8.7属于Chakra UI v1系列,完全兼容React 16+。只需将所有@chakra-ui开头的组件版本统一锁定到v1范围,避免自动升级到要求React 18的v2版本:

  1. 修改package.json中的依赖:
"dependencies": {
  "@chakra-ui/checkbox": "^1.8.7",
  "@chakra-ui/icons": "^1.8.7",
  "@chakra-ui/react": "^1.8.7",
  // 其他依赖保持不变
}

注:可以直接匹配@chakra-ui/react的版本号,确保所有组件版本统一

  1. 清理旧依赖并重新安装:
rm -rf node_modules package-lock.json
npm install

方案2:临时绕过Peer依赖检查(紧急临时方案)

如果暂时无法调整版本,可以用npm参数强制跳过依赖冲突检查:

npm install --legacy-peer-deps

注意:此方法可能引发运行时未知问题,仅作为临时应急手段

方案3:升级React到18.x(彻底解决,但需评估兼容性)

若项目允许升级React,可直接将React版本更新到18.x,从根源消除依赖要求差异:

  1. 修改package.json中的React相关依赖:
"react": "^18.2.0",
"react-dom": "^18.2.0"
  1. 检查其他依赖兼容性:
  • react-leaflet@4.0.0已兼容React 18
  • react-router-dom@5.x建议升级到^6.0.0以适配React 18
  • react-scripts@5.0.0原生支持React 18
  1. 清理旧依赖并重新安装:
rm -rf node_modules package-lock.json
npm install

额外优化

你的依赖中存在冗余的chakra-ui@^0.3.9(旧版包),建议直接删除,避免与正式@chakra-ui/react版本产生冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:40:27