在安装npm i vue-router (路由)时出现了这个错误。
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: vue_test@0.1.0
npm ERR! Found: vue@2.6.14
npm ERR! node_modules/vue
npm ERR! vue@"^2.6.14" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer vue@"^3.2.0" from vue-router@4.0.14
npm ERR! node_modules/vue-router
npm ERR! vue-router@"*" from the root project
npm ERR!
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\10638\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\10638\AppData\Local\npm-cache\_logs\2022-03-15T03_08_43_595Z-debug-0.log
翻译后大意是代码无法解析依赖关系树。
发生问题原因:
npm版本过高,npm7.x比npm6.x的限制要求多很多。
解决方法:
方法一:
npm i vue-router --force
使用 --force命令强制执行,可以安装成功,但是会出现警告
方法二:
使用 --legacy-peer-deps
npm i vue-router --legacy-peer-deps
可以在安装时忽略所有 peerDependencies
方法三:
可以降低npm版本号,降低到6.x即可
注:如果是安装vue-router
出现以下警告:warning in ./node_modules/vue-router/dist/vue-router.esm-bundler.js
可以卸载vue4,安装vue3
npm uninstall vue-router
npm i vue-router@3
可以成功完成安装并不会出现警告。