Ich arbeite an einer React-Webanwendung mit Webpack, lose neben diesem Tutorial .
Aus Versehen habe ich den Ordner node_modules zu meinem Git hinzugefügt. Ich habe es dann wieder mit entfernt git rm -f node_modules/*
.
Wenn ich jetzt versuche, den Webpack-Server zu starten, wird folgende Fehlermeldung angezeigt:
> 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
Zuerst dachte ich, es sei nur mein Projekt, aber dann habe ich die Code-Checkpoints des Tutorials überprüft: der gleiche Fehler! Etwas scheint also global durcheinander zu sein.
Folgendes habe ich bisher versucht:
rm node_modules
und neu installieren mitnpm install
npm cache clean
wie jemand zu diesem Thema auf Github erwähnt- Installieren Sie das Webpack global mit
npm install -g webpack
- Löschen Sie Node und Npm vollständig von meinem System (mithilfe dieser Anleitung ) und installieren Sie sie mithilfe von Brew neu
Die Fehlermeldung bleibt weiterhin bestehen. Was kann ich noch versuchen?
PS: Der Inhalt von webpack.dev.config.js
ist:
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;
webpack.dev.config.js
.Antworten:
Okay, es war einfach:
Was mich verwirrte, dass ich das zuerst nicht brauchte, wahrscheinlich änderten sich die Dinge mit einer neuen Version.
quelle
-g
Flagge nicht funktioniert . Also:npm i webpack-dev-server -g
das Problem gelöst.In Ihrem Fall ist das Skript
webpack-dev-server
bereits irgendwo im./node_modules
Verzeichnis installiert , aber das System weiß nicht, wie es darauf zugreifen soll. Um auf den Befehl zugreifen zu könnenwebpack-dev-server
, müssen Sie das Skript auch im globalen Bereich installieren .Hier
-g
bezieht sich auf den globalen Geltungsbereich.Dies wird jedoch nicht empfohlen, da möglicherweise Probleme mit Versionskonflikten auftreten. Stattdessen können Sie einen Befehl in
npm
derpackage.json
Datei wie folgt festlegen :Mit dieser Einstellung können Sie mit einem einfachen Befehl auf das gewünschte Skript zugreifen
So kurz zum Auswendiglernen und Spielen. Und
npm
kennt den Standort des Modulswebpack-dev-server
.quelle
node_modules/.bin/webpack-dev-server
, warum heißt es dann, dass dies ein ungültiger Befehl ist? Ich denke, Laufennode_modules/.bin/webpack-dev-server
ist gleich Laufennpm run dev
Das Skript
webpack-dev-server
ist bereits im Verzeichnis ./node_modules installiert. Sie können es entweder global erneut installieren, indem Sieoder führen Sie es so aus
.
bedeutet, es im aktuellen Verzeichnis zu suchen.quelle
Garn
Ich hatte das Problem beim Laufen:
yarn start
Es wurde behoben, indem zuerst ausgeführt wurde:
yarn install
quelle
yarn install
hat in meinem Fall funktioniert. Ich bin mir nicht sicher, was der Grund war.npm i
was auch immer Sie bevorzugenIch hatte das gleiche Problem, aber die folgenden Schritte halfen mir, es zu überwinden.
Lokale Installation des 'Webpack-Dev-Servers' (Im Projektverzeichnis, da es nicht aus der globalen Installation ausgewählt wurde)
npm install --save webpack-dev-server
Kann überprüfen, ob der Ordner 'webpack-dev-server' in node_modules vorhanden ist.
npx webpack-dev-server --mode development --config ./webpack.dev.js
npm run start
funktioniert auch gut, wenn Ihr Eintrag in package.json-Skripten wie oben sein sollte, wie ohne npx.quelle
Ich habe festgestellt, dass die akzeptierte Antwort nicht in allen Szenarien funktioniert. Um sicherzustellen, dass es zu 100% funktioniert, muss AUCH der npm-Cache geleert werden. Entweder direkt zum Cache gehen und Sperren, Caches, anonym-cli -metrics.json löschen; oder man kann es versuchen
npm cache clean
.Da der Autor den Cache geleert hat, bevor er die empfohlene Lösung ausprobiert hat, ist es möglich, dass er nicht zu den Voraussetzungen gehört.
quelle
Für die globale Installation: npm installiere webpack-dev-server -g
Für die lokale Installation npm install --save-dev webpack
Wenn Sie auf das Webpack in der Datei package.json verweisen, wird versucht, es im Speicherort node_modules \ .bin \ zu suchen
Nach der lokalen Installation wird die Datei wbpack am Speicherort erstellt: \ node_modules \ .bin \ webpack
quelle
Ich installiere mit
npm install --save-dev webpack-dev-server
dann setze ich package.json und webpack.config.js wie folgt: Einstellung .Dann habe ich webpack-dev-Server ausgeführt werden und diese Fehlermeldung erhalten Fehler .
Wenn ich nicht
npm install -g webpack-dev-server
zur Installation verwende, wie kann ich das Problem beheben?Ich habe den Fehler
configuration has an unknown property 'colors'
durch Entfernen behobencolors:true
. Es funktionierte!quelle
Ich hatte ein ähnliches Problem mit Garn , keines der oben genannten hat bei mir funktioniert, also habe ich es einfach entfernt
./node_modules
und bin weggelaufen und dasyarn install
Problem ist verschwunden.quelle
npm install webpack-dev-server -g - Windows-Betriebssystem
Besser Sie verwenden sudo unter Linux, um Berechtigungsfehler zu vermeiden
sudo npm installiere webpack-dev-server -g
Sie können sudo npm install webpack-dev-server --save verwenden, um es zu package.json hinzuzufügen.
Manchmal müssen Sie möglicherweise die folgenden Befehle ausführen.
npm install webpack-cli --save oder npm install webpack-cli -g
quelle
Ich habe das gleiche Problem festgestellt, nachdem ich VSCode installiert und ein Remote-Git-Repository hinzugefügt habe. Irgendwie wurde der
/node_modules/.bin
Ordner gelöscht undnpm install --save webpack-dev-server
in der Befehlszeile ausgeführt. Der fehlende Ordner wurde erneut installiert und mein Problem behoben.quelle