web-dev-qa-db-fra.com

Comment corriger une erreur "Incompatibilité de version des packages Vue" sur Laravel Spark v4.0.9?

Lorsque j'exécute npm run dev sur une application Laravel Spark v4.0.9, le message d'erreur suivant s'affiche:

Module build failed: Error:

Vue packages version mismatch:

- [email protected]
- [email protected]

This may cause things to work incorrectly. Make sure to use the same version for both.
If you are using vue-loader@>=10.0, simply update vue-template-compiler.
If you are using vue-loader@<10.0 or vueify, re-installing vue-loader/vueify should bump vue-template-compiler to the latest.

Mon package.json ressemble à ceci:

{
  "private": true,
  "scripts": {
    "dev": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
  },
  "dependencies": {
    "axios": "^0.15.2",
    "bootstrap": "^3.0.0",
    "cross-env": "^3.2.3",
    "jquery": "^2.1.4",
    "js-cookie": "^2.1.0",
    "laravel-mix": "0.*",
    "moment": "^2.10.6",
    "promise": "^7.1.1",
    "sweetalert": "^1.1.3",
    "underscore": "^1.8.3",
    "urijs": "^1.17.0",
    "vue": "~2.0.1",
    "vue-resource": "^1.2.0",
    "vue-router": "^2.2.1",
    "vue-truncate-filter": "^1.1.6",
    "vuejs-datepicker": "^0.6.2"
  },
  "devDependencies": {
    "browser-sync": "^2.18.8",
    "browser-sync-webpack-plugin": "^1.1.4"
  }
}

J'ai essayé ce qui suit (à différents moments, pas dans l'ordre):

  • supprimé node_modules et npm install
  • essayé juste de lancer yarn et yarn upgrade
  • enlever vue-loader et réinstaller
  • spécifier les versions exactes de vue et vue-template-compiler plutôt que de laisser à npm le soin d'installer ou de filer pour déterminer les dépendances
  • en supprimant d'autres paquets non essentiels (vue-router, vue-truncate-filter, vuejs-datepicker) et en essayant tous les points précédents
  • me cogner la tête contre un mur
12
Nate Ritter

Cela a fonctionné pour moi:

  1. Modifier package.json:

    “vue”: “^2.0.8",
    “vue-template-compiler”: “^2.1.8"
    
  2. Supprimer node_modules

  3. Exécuter npm install
11
Espen

Pour la vue ^2.5.17.

Dans votre package.json

Ajoutez simplement ceci dans devDependencies ou mettez à jour la version de vue-template-compiler:

  • "vue-template-compiler": "^2.5.17"

Vous aurez cette sortie:

"devDependencies": {
  ...
  "lodash": "^4.17.4",
  "popper.js": "^1.14.4",
  "vue": "^2.5.17", // <= note the version
  "vue-template-compiler": "^2.5.17" // <= note the version
},

Après cela, lancez:

  • npm installer

Npm mettra à jour uniquement les packages mis à jour.

13
Jose Seie

Exécuter la commande suivante m'a aidé

npm install [email protected] --save-dev

NB Remplacez le numéro de version par la version dont vous avez besoin. Dans mon cas, la version de vue était 2.5.16 et le compilateur-vue était le 2.5.13

J'espère que cela aide quelqu'un

Correction des erreurs d'incompatibilité de version de paquets Vue

4
Allan Barku

Il n'est pas nécessaire de supprimer tous les dossiers node_modules. Il suffit de mettre à jour les packages: vue, vue-template-compiler et vue-server-renderer avec @latest et cela devrait aider dans tous les cas avec des versions démontées des packages vue.

npm i vue-template-compiler@latest --save

npm i vue-server-renderer@latest --save

--save mettra automatiquement à jour la version de votre fichier package.json. @latest signifie installer la dernière version disponible du paquet. Si vous devez mettre à jour vue, faites-le de la même manière que dans l'exemple ci-dessus.

En outre, vous pouvez toujours vérifier les nouvelles versions pour les mises à jour à l'aide de la commande: npm outdated. Il vous montre toute la liste des paquets, qui devraient être mis à jour.

Au fait, la commande npm update ne met à jour que les versions minor et patches, mais elle est inutilisée lorsque vous souhaitez mettre à jour la version major. Par exemple, npm update ne mettra pas à jour 2.4.5 => 3.0.1, mais peut mettre à jour 

3
Kamil' Ocean

Ici, le compilateur de modèles de vue compile le modèle de vue. Si vous utilisez vue une version et vue-template-compiler une autre version, c'est un problème.

Exécuter cette commande

npm update vue-template-compiler

Cela corrigera le problème et installera un compilateur de modèles de vue de même version que celui de vue js.

2
Maniruzzaman Akash

Vérifiez la dépendance pour vue et remplacez par exact dans la dépendance de dev pour vue-template-compiler.

Pour par exemple.

"dependencies": {
    "vue": "^2.5.2",
},
"devDependencies": {
    "vue-template-compiler": "^2.5.3",
},

Devrait être remplacé par:

"dependencies": {
    "vue": "2.5.2",
},
"devDependencies": {
    "vue-template-compiler": "2.5.2",
},

Et exécutez le npm install à nouveau.

2
Bhojendra Rauniyar

Cela a fonctionné pour moi:

  1. Modifiez package.json: "Vue": "^ 2.5.2" en "vue": "2.5. *"
  2. Supprimer le dossier node_modules
  3. Supprimer package-lock.json
  4. Lancer npm install
1
Oscar Intecfra

À partir de la réponse acceptée, au lieu de supprimer node_modules folder et de réexécuter yarn install, vous pouvez simplement mettre à niveau ces 2 packages directement:

yarn upgrade vue@^2.0.8
yarn upgrade vue-template-compiler@^2.1.8
1
Billal Begueradj

Vous n'avez pas besoin de supprimer le dossier node_modules.

- [email protected] - [email protected]

Mettez à jour le package avec un numéro de version inférieur. Dans ce cas, npm update vue. Facultativement, vous voudrez peut-être aussi npm update vue-loader

0
Ajeh Emeke Jnr

Essayez ceci: npm install [email protected] --save-dev

Convertir la version vue-template-compiler en identique à la version vue (pour ce cas, 2.0.8) a fonctionné pour moi. Essaie.

0
G Sangram Patro