web-dev-qa-db-fra.com

Webpack - webpack-dev-server: commande introuvable

Je travaille sur une React webapp à l'aide de WebPack, vaguement à côté de ce tutoriel .

J'ai accidentellement ajouté le dossier node_modules à mon git. Je l'ai ensuite retiré à nouveau en utilisant git rm -f node_modules/*.

Maintenant, lorsque j'essaie de démarrer le serveur Webpack, l'erreur suivante apparaît:

> 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! [email protected] 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 ce n’était que 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 foiré au niveau mondial.

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

  • rm node_modules et réinstaller avec npm install
  • npm cache clean comme mentionné à propos de cette question sur github
  • installer globalement le webpack avec npm install -g webpack
  • supprimer complètement node et npm de mon système (à l'aide de ce guide ) et réinstaller à l'aide de brasser

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

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.stringify("development")
    }
  })
);

module.exports = config;
83
moejoe

Ok, c'était facile:

npm install webpack-dev-server -g

Ce qui m'a confondu que je n'en ai pas eu besoin au début, probablement les choses ont changé avec une nouvelle version.

142
moejoe

Pour votre information, pour accéder à n’importe quel script via la ligne de commande que vous avez utilisée, vous devez enregistrer le script en tant que script Shell (ou tout type de script tel que .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. Ainsi, pour accéder à la commande webpack-dev-server, vous devez également installer le script dans portée globale.

$ npm install webpack-dev-server -g

Ici, -g fait référence à la portée globale.


Cependant, ce n'est pas recommandé, car vous pourriez être confronté à des problèmes de versions différentes; vous pouvez donc définir une commande dans le fichier package.json de npm comme suit:

  "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 simple commande

$ npm start

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

24
illusionist

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 l'exécuter 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.

13
fangxing

fil

J'ai eu le problème lors de l'exécution: yarn start

Il a été corrigé lors de l'exécution en premier: yarn install

6
pme

J'ai eu le même problème, mais les étapes ci-dessous m'ont aidé à en sortir.

  1. Installer le 'webpack-dev-server' localement (dans le répertoire du projet car il n'était pas sélectionné dans l'installation globale)

    npm install --save webpack-dev-server

Peut vérifier si le dossier 'webpack-dev-server' existe dans node_modules.

  1. Courir en utilisant npx pour courir directement

npx webpack-dev-server --mode development --config ./webpack.dev.js

npm run start fonctionne aussi très bien, votre entrée dans les scripts package.json devrait être comme ci-dessus, comme sans npx.

3
RajaSekhar K

J'ai trouvé la réponse acceptée ne fonctionne pas dans tous les scénarios. Pour que cela fonctionne à 100%, il faut AUSSI vider le cache npm. Soit directement Aller dans le cache et effacer les verrous, caches, anonymous-cli-metrics.json; ou on peut essayer npm cache clean.

Étant donné que l'auteur avait effacé le cache avant d'essayer la solution recommandée, il était possible qu'il ne fasse pas partie des conditions préalables.

1
user458617

J'avais un problème similaire avec Yarn, aucune des solutions ci-dessus ne fonctionnait pour moi. J'ai donc simplement supprimé ./node_modules, puis exécuté yarn install et le problème a disparu.

0
ulou

npm installer webpack-dev-server -g - système d'exploitation Windows

Mieux vaut utiliser Sudo sous Linux pour éviter les erreurs d'autorisation

Sudo npm installer webpack-dev-server -g

Vous pouvez utiliser Sudo npm install webpack-dev-server --save pour l’ajouter à package.json.

Parfois, vous devrez peut-être exécuter les commandes ci-dessous.

npm installez webpack-cli --save ou npm installez webpack-cli -g

0
Sreenivasula Reddy

pour des 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

0
peacemaker

J'installe avec npm install --save-dev webpack-dev-server puis je règle package.json et webpack.config.js comme ceci: setting .

Ensuite, je lance webpack-dev-server et reçois cette erreur error .

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

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

0
user7587906