我无法通过 npm 安装 vue-router

Pey*_*Khn 4 vue.js vue-router vuejs2

我想安装 vue-router 但出现一些错误

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: routing01@1.0.0
npm ERR! Found: vue@2.6.14
npm ERR! node_modules/vue
npm ERR!   vue@"^2.5.11" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer vue@"^3.2.0" from vue-router@4.0.15
npm ERR! node_modules/vue-router
npm ERR!   vue-router@"4" 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\Peyman\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\Peyman\AppData\Local\npm-cache\_logs\2022-05-31T07_48_48_170Z-debug-0.log
Run Code Online (Sandbox Code Playgroud)

ton*_*y19 14

问题是您的vue和版本不兼容vue-router

  • vue@2需要vue-router@3
  • vue@3需要vue-router@4

错误消息表明您已经安装vue@2.6.14,并且您正在尝试安装vue-router@4.0.15。请注意,npm install -S vue-router(没有版本说明符)默认为当前latest版本。4.0.15

不要使用错误消息中建议的--force--legacy-peer-depsnpm 标志,因为这只会安装不兼容的包,从而导致运行时错误。

解决方案

快速修复是安装vue-router@3

npm install -S vue-router@3
Run Code Online (Sandbox Code Playgroud)

或者您可以升级到 Vue 3,这需要卸载vue-template-compiler(Vue 2 的模板编译器)并安装@vue/compiler-sfc(Vue 3 的模板编译器):

npm uninstall -S vue-template-compiler
npm install -S vue@3 @vue/compiler-sfc
Run Code Online (Sandbox Code Playgroud)