Webpack-webpack-dev-server: commande introuvable

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

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

Maintenant, quand j'essaie de démarrer le webpack serveur, 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 ce n'était que mon projet, mais ensuite j'ai vérifié les points de contrôle de code du tutoriel: même erreur! Donc, quelque chose semble être foiré globalement.

Voici ce que je essayé jusqu'à présent:

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

Le message d'erreur persiste. Quoi d'autre 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;
60
demandé sur Community 2015-07-24 16:15:18

9 réponses

Ok, c'était facile:

npm install webpack-dev-server -g

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

115
répondu moejoe 2016-07-20 07:34:16

POUR INFO, pour accéder à n'importe quel script via la ligne de commande comme vous essayiez, vous besoin d'avoir le script enregistré en tant que shell-script (ou tout type de script comme .js, .rb) dans le système comme ces fichiers dans le répertoire {[3] } dans UNIX. Et, système doit savoir où les trouver. c'est à dire l'emplacement doit être chargé dans $PATH tableau.


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 avoir accès. Donc, pour accéder à la commande webpack-dev-server, vous devez installer le script dans étendue globale ainsi.

$ npm install webpack-dev-server -g

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


Cependant, ce n'est pas recommandé car vous pourriez faire face à des problèmes conflictuels de version; donc, à la place, vous pouvez définir une commande dans le fichier package.json de 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 simple commande

$ npm start

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

16
répondu illusionist 2017-01-10 03:25:21

Le script webpack-dev-server est déjà installé à l'intérieur ./répertoire node_modules. Vous pouvez soit l'installer à nouveau globalement par

sudo npm install -g webpack-dev-server

Ou exécutez - le comme ceci

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

. signifie le regarder dans le répertoire actuel.

9
répondu fangxing 2017-09-29 04:24:12

Fil de

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

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

4
répondu pme 2018-03-21 15:06:57

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

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

    Npm install --enregistrer webpack-dev-serveur

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

  1. exécution en utilisant npx pour exécuter directement

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

npm run start fonctionne aussi très bien où votre entrée dans le paquet.les scripts json devraient être comme ci-dessus comme sans npx.

1
répondu RajaSekhar K 2018-09-24 12:58:50

J'installe avec npm install --save-dev webpack-dev-server puis j'ai défini le paquet.json et webpack.config.js comme ceci: Réglage .

Ensuite, je lance webpack-dev-server et j'obtiens cette erreur erreur.

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

J'ai corrigé l'erreur configuration has an unknown property 'colors' par la suppression de colors:true. Il a travaillé!

0
répondu user7587906 2017-02-19 20:11:01

J'ai trouvé la réponse acceptée ne fonctionne pas dans tous les scénarios. Pour s'assurer qu'il fonctionne à 100%, il faut également effacer le cache npm. Soit directement aller au cache et effacer les verrous, caches, Anonymous-CLI-metrics.json; ou on peut essayer npm cache clean.

Puisque l'auteur avait effacé le cache avant d'essayer la solution recommandée, il est possible que cela ne fasse pas partie des pré-requis.

0
répondu user458617 2017-12-11 00:47:54

J'ai eu un problème similaire avec Yarn , aucun de ceux ci-dessus n'a fonctionné pour moi, donc j'ai simplement enlevé ./node_modules et exécuté yarn install et le problème est parti.

0
répondu ulou 2018-07-02 11:19:52

Pour les problèmes avec

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

Jetez un oeil à

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

0
répondu peacemaker 2018-07-04 05:34:17