示例

npm install webpack-bundle-analyzer --save-dev

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: less-loader@5.0.0
npm ERR! Found: less@4.1.3
npm ERR! node_modules/less
npm ERR!   dev less@"^4.1.3" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer less@"^2.3.1 || ^3.0.0" from less-loader@5.0.0
npm ERR! node_modules/less-loader
npm ERR!   dev less-loader@"5.0.0" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: less@3.13.1
npm ERR! node_modules/less
npm ERR!   peer less@"^2.3.1 || ^3.0.0" from less-loader@5.0.0
npm ERR!   node_modules/less-loader
npm ERR!     dev less-loader@"5.0.0" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\jay\AppData\Local\npm-cache\eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\jay\AppData\Local\npm-cache\_logs\2022-08-27T14_31_12_311Z-debug-0.log

原因分析

可见,报错提示:无法解决该依赖(Could not resolve dependency),与该less版本冲突(Conflicting peer dependency: less@3.13.1).
并告知:Fix the upstream dependency conflict, or retry this command with --force, or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution.

使用npm7 及以上的版本,对等依赖问题视为错误,而版本npm6中通常只是的警告而已。
最直接的方式就是使用–legacy-peer-deps

方法一

npm install --legacy-peer-deps
npm install webpack-bundle-analyzer --save-dev --legacy-peer-deps

除此以外,还可以将其设置为更永久的配置选项:
npm config set legacy-peer-deps true

方法二

降级到npm6版本

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐