• 安装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版本

  • 相关阅读:
    使用 Docker 部署 TailChat 开源即时通讯平台
    HTA入门基础教程 | VBS脚本的GUI界面 HTA简明教程 ,附带完整历程及界面美化
    恢复受感染的数据:如何应对.360勒索病毒的策略
    各扫描方法原理及特点总结
    Qt 学习(四) —— QRadioButton单选框
    Docker中的常用命令
    RabbitMq消息队列
    第三章-Mybatis源码解析-以xml方式走流程-mapper解析(一)
    基于HFSS的线阵综合分析
    Thanos工作原理及组件简介
  • 原文地址:https://blog.csdn.net/spring5530/article/details/127457230