npm peer dependency 冲突怎么解决?

npm install 报 ERESOLVE unable to resolve dependency tree

解决方案

使用 --legacy-peer-deps 推荐

npm install --legacy-peer-deps

使用 npm 6 的宽松 peer dependency 解析策略。大多数情况下不会有实际问题。

适用场景:快速解决,不想深入排查

使用 --force

npm install --force

强制安装,忽略所有冲突。比 --legacy-peer-deps 更激进,可能导致运行时问题。

适用场景:--legacy-peer-deps 也不行时

手动解决版本冲突

# 1. 查看冲突详情
npm install 2>&1 | head -50

# 2. 找到冲突的包,安装兼容版本
npm install conflicting-package@compatible-version

# 3. 或在 package.json 中添加 overrides
"overrides": {
  "conflicting-package": "^version"
}

查看具体哪些包版本冲突,手动指定兼容版本或使用 overrides 覆盖。

适用场景:需要精确控制依赖版本