Webpack – webpack-dev-server: commande introuvable

Je travaille sur une webapp React en utilisant webpack, à côté de ce tutoriel .

Accidentellement, j’ai ajouté le dossier node_modules à mon git. Je l’ai ensuite retiré en utilisant git rm -f node_modules/* .

Maintenant, lorsque j’essaie de démarrer le serveur Webpack, j’obtiens l’erreur suivante:

 > webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors sh: webpack-dev-server: command not found npm ERR! Darwin 14.4.0 npm ERR! argv "node" "/usr/local/bin/npm" "run" "devserve" npm ERR! node v0.12.4 npm ERR! npm v2.10.1 npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn npm ERR! Blabber@0.0.1 devserve: `webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors` npm ERR! spawn ENOENT 

Au début, je pensais que c’était seulement mon projet, mais j’ai ensuite vérifié les points de contrôle du code du tutoriel: même erreur! Donc, quelque chose semble être gâché au niveau mondial.

Voici ce que j’ai essayé jusqu’à présent:

  • rm node_modules et réinstallez avec npm install
  • npm cache clean comme quelqu’un l’a mentionné concernant ce problème sur github
  • installer webpack globalement avec npm install -g webpack
  • supprimer complètement le nœud et npm de mon système (en utilisant ce guide ) et réinstaller à l’aide de brew

Le message d’erreur persiste toujours. Que puis-je essayer d’autre?

PS: Le contenu de webpack.dev.config.js est:

 var config = require('./webpack.config.js'); var webpack = require('webpack'); config.plugins.push( new webpack.DefinePlugin({ "process.env": { "NODE_ENV": JSON.ssortingngify("development") } }) ); module.exports = config; 

Ok, c’était facile:

 npm install webpack-dev-server -g 

Ce qui m’a déconcerté, c’est que je n’avais pas besoin de cela au début, probablement que les choses ont changé avec une nouvelle version.

FYI, pour accéder à n’importe quel script via une ligne de commande comme vous essayiez, vous devez avoir le script enregistré en tant que script shell (ou tout type de script comme .js, .rb) dans le système comme ces fichiers dans le répertoire /usr/bin sous UNIX. Et le système doit savoir où les trouver. c’est-à-dire que l’emplacement doit être chargé dans le tableau $PATH .


Dans votre cas, le script webpack-dev-server est déjà installé quelque part dans le répertoire ./node_modules , mais le système ne sait pas comment y accéder. Donc, pour accéder à la commande webpack-dev-server , vous devez également installer le script dans son ensemble .

 $ npm install webpack-dev-server -g 

Ici, -g réfère à la scope globale.


Toutefois, cette méthode n’est pas recommandée car vous risquez d’être confronté à des problèmes de version; donc, au lieu de cela, vous pouvez définir une commande dans le fichier package.json npm comme:

  "scripts": { "start": "webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors" } 

Ce paramètre vous permettra d’accéder au script que vous voulez avec une commande simple

 $ npm start 

Si court pour mémoriser et jouer. Et, npm connaît l’emplacement du module webpack-dev-server .

Le script webpack-dev-server est déjà installé dans le répertoire ./node_modules. Vous pouvez soit l’installer à nouveau globalement en

 sudo npm install -g webpack-dev-server 

ou le lancer comme ça

 ./node_modules/webpack-dev-server/bin/webpack-dev-server.js -d --config webpack.dev.config.js --content-base public/ --progress --colors 

. signifie regarder dans le répertoire courant.

Fil

J’ai eu le problème en cours d’exécution: yarn start

Il a été corrigé avec courir en premier: yarn install

Je installe avec npm install --save-dev webpack-dev-server puis je définis package.json et webpack.config.js comme ceci: setting .

Ensuite, je lance webpack-dev-server et récupère cette erreur .

Si je n’utilise pas npm install -g webpack-dev-server pour installer, alors comment le réparer?

J’ai corrigé la configuration has an unknown property 'colors' l’erreur configuration has an unknown property 'colors' en supprimant les colors:true . Ça a marché!

J’ai trouvé que la réponse acceptée ne fonctionnait pas dans tous les scénarios. Pour vous assurer que 100% fonctionne, vous devez également effacer le cache npm. Soit directement dans le cache et effacez les verrous, les caches, anonymous-cli-mesortingcs.json; ou on peut essayer npm cache clean .

Comme l’auteur avait effacé le cache avant d’essayer la solution recommandée, il était possible que cela ne fasse pas partie des pré-requirejs.

J’ai eu un problème similaire avec Yarn , rien de tout cela n’a fonctionné pour moi, alors j’ai simplement enlevé.

pour les problèmes avec

Comment exécuter webpack localement au lieu de l’option globale habituelle

jeter un coup d’œil à

https://stackoverflow.com/a/51165867/10003436