npm ERR! code ERESOLVE
npm v7+ 默认严格校验 peerDependencies,冲突即报错。
现象
npm ERR! code ERESOLVE npm ERR! While resolving: project@1.0.0 npm ERR! Found: webpack@4.0.0 npm ERR! Could not resolve dependency: npm ERR! peer webpack@"^5.0.0" from plugin-x@2.0.0
原因
- 两个依赖对同一个包的 peer 版本要求互相矛盾(如一个要 webpack@4,另一个要 webpack@5)。
- 依赖树中存在不兼容的旧版本未被更新。
解决
# 首选:升级冲突的依赖到兼容版本 npm install webpack@5 # 临时绕过(不推荐长期使用) npm install --legacy-peer-deps # 或 npm install --force # 查看依赖冲突来源 npm ls webpack
预防
- 保持依赖较新,定期
npm outdated+ 升级。 - 在
package.json用overrides字段强制定版本。 - CI 锁定
package-lock.json,避免本地与线上不一致。