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):
node_modules
et npm install
yarn
et yarn upgrade
vue-loader
et réinstallerCela a fonctionné pour moi:
Modifier package.json
:
“vue”: “^2.0.8",
“vue-template-compiler”: “^2.1.8"
Supprimer node_modules
npm install
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 mettra à jour uniquement les packages mis à jour.
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
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
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.
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.
Cela a fonctionné pour moi:
À 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
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
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.