• 安装npm包时出现依赖树错误的解决办法


    示例

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    原因分析

    可见,报错提示:无法解决该依赖(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版本

  • 相关阅读:
    DVWA 反射型XSS XSS(Reflected)题解
    ES6、ES7、ES8、ES9、ES10、ES11
    方舟生存进化是什么游戏?好不好玩
    专访乐凯撒CTO黄道泳:看一盒披萨背后的技术之路
    ChromeOptions 设置WebDriver/ChromeDriver的请求头参数
    C++ Qt开发:标准Dialog对话框组件
    容器编排工具的比较:Kubernetes、Docker Swarm、Nomad
    MobaXterm配置ssh端口转发(tensorboard使用)
    js利用split分割截取---1:1(整理)
    【MogDB/openGauss的三种函数稳定性关键字】
  • 原文地址:https://blog.csdn.net/spring5530/article/details/127457230