首页 > 解决方案 > npm i 导致许多 ERESOLVE 问题

问题描述

我收到此错误npm i

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! Found: webpack@5.11.1
npm ERR! node_modules/webpack
npm ERR!   dev webpack@"4.41.5" from the root project
npm ERR!   peer webpack@">=2" from babel-loader@8.2.2
npm ERR!   node_modules/babel-loader
npm ERR!     dev babel-loader@"^8.0.0" from the root project
npm ERR!   2 more (copy-webpack-plugin, css-loader)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! dev mini-css-extract-plugin@"^0.9.0" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: webpack@4.44.2
npm ERR! node_modules/webpack
npm ERR!   peer webpack@"^4.4.0" from mini-css-extract-plugin@0.9.0
npm ERR!   node_modules/mini-css-extract-plugin
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.

当我将 nodejs 降级到 14.15.4 时,我得到了它,但我实际上可能需要降级 node.js。

知道如何解释这个问题并解决它吗?

标签: node.jsnpm

解决方案


ERESOLVE问题npm@7很常见,因为 npm 7.x 对某些事情比 npm 6.x 更严格。通常,最简单的解决方案是将--legacy-peer-deps标志传递给npm(例如,npm i --legacy-peer-deps)或使用npm@6

如果这不能立即起作用,也许先尝试删除node_modulesand package-lock.json。它们将被重新创建。

npm@7(提示:使用时不需要卸载npm@6。使用npx来指定版本npm。例如:npx -p npm@6 npm i --legacy-peer-deps。)


推荐阅读