search

Home  >  Q&A  >  body text

I can't install vue-router via npm

I want to install vue-router but some errors occurred

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\_logs22-05-31T07_48_48_170Z-debug-0.log

P粉496886646P粉496886646376 days ago362

reply all(1)I'll reply

  • P粉135292805

    P粉1352928052024-02-18 09:19:24

    The problem is that your vue and vue-router versions are incompatible.

    • vue@2 Requires vue-router@3
    • vue@3 Requires vue-router@4

    The error message indicates that you have vue@2.6.14 and you are trying to install vue-router@4.0.15. Please note that npm install -S vue-router (without a version specifier) ​​defaults to the latest version, which is currently 4.0.15.

    Do not use the --force or --legacy-peer-deps npm flags suggested in the error message, as this will only install incompatible packages that will cause runtime mistake.

    solution

    The quick fix is ​​to install vue-router@3:

    npm install -S vue-router@3
    

    Or you can upgrade to Vue 3, which requires uninstalling vue-template-compiler (template compiler for Vue 2) and installing @vue/compiler-sfc (Vue 3 template compiler):

    npm uninstall -S vue-template-compiler
    npm install -S vue@3 @vue/compiler-sfc
    

    reply
    0
  • Cancelreply