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 avecnpm 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;
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.
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
.
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.
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
J'ai eu le même problème mais les étapes ci-dessous m'a aidé à m'en sortir.
-
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.
- 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.
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é!
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.
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.
Pour les problèmes avec
Comment exécuter webpack localement au lieu de l'option globale habituelle
Jetez un oeil à