错误信息
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! Found: [email protected]
npm ERR! node_modules/eslint
npm ERR! dev eslint@"7.15.0" from the root project
npm ERR! peer eslint@">= 1.6.0" from @vue/[email protected]
npm ERR! dev @vue/cli-plugin-eslint@"4.4.6" from the root project
npm ERR! 2 more (babel-eslint, eslint-plugin-vue)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer eslint@">=1.6.0 <7.0.0" from [email protected]
npm ERR! node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader
npm ERR! eslint-loader@"^2.2.1" from @vue/[email protected]
npm ERR! node_modules/@vue/cli-plugin-eslint
npm ERR! dev @vue/cli-plugin-eslint@"4.4.6" 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\Administrator\AppData\Local\npm-cache\eresolve-report.txt for a full report.
原因
在新版本的npm中,默认情况下,npm install遇到冲突的peerDependencies时将失败。
解决
使用–force或–legacy-peer-deps可解决这种情况。
-force 会无视冲突,并强制获取远端npm库资源,当有资源冲突时覆盖掉原先的版本。
-legacy-peer-deps:安装时忽略所有peerDependencies,忽视依赖冲突,采用npm版本4到版本6的样式去安装依赖,已有的依赖不会覆盖。
建议用--legacy-peer-deps 比较保险一点
npm install --registry=https://registry.npmmirror.com --legacy-peer-deps