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 githubnpm install -g webpack
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;
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.
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
.
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.
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
J'ai eu le même problème, mais les étapes ci-dessous m'ont aidé à en sortir.
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.
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.
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.
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.
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
pour des problèmes avec
Comment exécuter webpack localement au lieu de l'option globale habituelle
jeter un coup d'œil à
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é!