Webpack.validateSchema n'est pas une fonction

Webpack lance cette erreur tout à coup:

TypeError: webpack.validateSchema n'est pas une fonction

Tout fonctionnait bien vendredi, ne fonctionnait pas aujourd'hui. Aucun nouveau ne s'engage à maîtriser depuis vendredi.

NPM élu, cela n'a pas fonctionné, supprimé le dossier NPM et réinstallé, pas de dés. Vérifié aux succursales précédentes qui n'ont pas été remises au Master pendant plus d'une semaine. Toujours le même.

Quelqu'un a-t-il une idée?

On dirait que npm bug, car [email protected] nécessite webpack@^2.1.0-beta.26 mais npm n'a pas réussi à l'installer.

La façon la plus simple d'éviter le problème sans trop de mise à jour est de modifier la dépendance dans package.json à

  "webpack-dev-server": "2.1.0-beta.10", 

Au lieu de quelque chose comme

  "webpack-dev-server": "^2.1.0-beta.9", 

"^" Char avant version dit "compatible avec". En le retirant, adhère parfaitement à la version.

N'oubliez pas d'exécuter npm install ou npm update .

J'ai également eu la même erreur. J'ai verrouillé ma version de webpack-dev-server dans mon fichier package.json et cela a empêché l'erreur de se produire. Cela ne résout pas le problème de racine du bug.

Il s'agit de la version de webpack-dev-server que j'utilise, mais je suis sûr que les versions ultérieures fonctionnent aussi: "webpack-dev-server": "2.1.0-beta.9",

J'ai rencontré ce problème aujourd'hui à la même époque que vous, il s'avère que le webpack a été mis à jour à nouveau.

Voici ce que j'ai fait pour le réparer:

D'abord, j'ai lancé l' npm install et la npm update à npm update pour voir quel était le résultat. J'ai couru ces deux commandes parce que npm a une façon étrange de déclarer les dépendances non satisfaites, parfois il est faux et lorsque vous ré-exécutez la npm update ou l' npm install , vous vous rendez compte que les dépendances non remplies ne sont plus un problème.

Après avoir exécuté ces commandes, j'ai remarqué que le seul message restant était un avertissement:

npm WARN [email protected] requires a peer of webpack@^2.1.0-beta.26 but none was installed.

Pour se débarrasser de cela, j'ai changé mon fichier package.json pour lire "webpack": "2.1.0-beta.26" au lieu de "webpack": "2.1.0-beta.25" et exécuté une autre npm install .

Après cela, j'ai eu une autre erreur lorsque j'ai essayé de npm start qui indiquait qu'il y avait un problème avec mon fichier de configuration de serveur. Dans mon cas, je suis allé au fichier de configuration de Webpack pour mon environnement de développement (parce que je ne suis pas encore en production) et j'ai trouvé le coupable qui était un paramètre invalide appelé 'outputPath'.

J'ai commenté cette ligne et maintenant je fais tout fonctionner correctement.

En espérant que cela aide, peut-être un hack pour l'instant, mais j'espère que c'est un pas dans la bonne direction.

METTRE À JOUR:

D'accord, j'ai donc tort de savoir que tout fonctionne bien. Il s'avère que certains de mes chargeurs ne fonctionnaient pas correctement; Bootstrap et d'autres choses n'étaient pas chargées correctement, rompant mes styles. Donc, pour revenir à l'endroit où j'étais auparavant, j'ai supprimé mon dossier node_modules et j'ai exécuté l' npm install utilisant ce qui suit dans package.json :

 "webpack": "2.1.0-beta.25", "webpack-dashboard": "^0.1.8", "webpack-dev-middleware": "^1.6.1", "webpack-dev-server": "2.1.0-beta.9", "webpack-md5-hash": "^0.0.5", "webpack-merge": "^0.15.0", 

Espérons que des discussions comme celle-ci nous aideront à comprendre comment procéder correctement avec les nouvelles versions de webpack sorties.

J'ai travaillé pour moi quand je supprime ^ et j'utilise la version exacte.

De

 "webpack": "2.1.0-beta.25", "webpack-dev-middleware": "^1.6.1", "webpack-dev-server": "^2.1.0-beta.9", "webpack-md5-hash": "^0.0.5", "webpack-merge": "^0.14.1" 

à

 "webpack": "2.1.0-beta.25", "webpack-dev-middleware": "1.6.1", "webpack-dev-server": "2.1.0-beta.9", "webpack-md5-hash": "0.0.5", "webpack-merge": "0.14.1" 

D'accord, mettez-vous à jour ici.

Essayé ce que certains de vous ont suggéré, ce qui m'a malheureusement malheureusement retrouvé un trou de lapins d'erreurs avec des chargeurs de modules cassés.

À la fin, j'ai mis à jour "webpack": "^2.1.0-beta.26" , et "webpack-dev-server": "^2.1.0-beta.11" . Après cela, il a découvert des changements de rupture, ce qui a entraîné la rupture des loadershttps://github.com/webpack/webpack/releases .

En bref, dans votre configuration de serveur Web, modifiez les loaders: [ ... ] , aux rules : [ ... ] et sur toutes les déclarations de chargeur, ajoutez "-loader" à la valeur de chaîne comme ceci, { test: /node_modules\/i18n-iso-countries\/(de|es|nl|sv)\.js$/, loader: 'null-loader' }, { test: /\.coffee$/, loader: 'coffee-loader' }, { test: /\.ts$/, loader: ['awesome-typescript-loader']} etc.

Je l'ai fait pour moi. J'espère que cela aidera quelqu'un d'autre à courir dans le problème.

Je l'ai travaillé en exécutant cette commande:

 npm install --save-dev webpack-dev-server@beta webpack@beta 

Comme cela a été expliqué dans ce problème GitHub , vous devez mettre à jour le logiciel Webpack vers le site webpack 2.1.0-beta.26 ou ultérieur. Comme la dernière version v2.1 est beta.28, vous devriez exiger le webpack@^2.1.0-beta.28 .

Notez que l'un des changements de rupture introduits dans beta.26 est que vous devez spécifier le nom complet des chargeurs, p.ex. remplacer le loader: 'babel' avec loader: 'babel-loader' .