Pracuję nad aplikacją internetową React przy użyciu pakietu internetowego, luźno obok tego samouczka .
Przypadkowo dodałem folder node_modules do mojego git. Następnie usunąłem go ponownie za pomocą git rm -f node_modules/*
.
Teraz, kiedy próbuję uruchomić serwer webpacka, pojawia się następujący błąd:
> 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
Na początku myślałem, że to tylko mój projekt, ale potem sprawdziłem punkty kontrolne kodu w samouczku: ten sam błąd! Wydaje się więc, że na całym świecie coś jest nie tak.
Oto, czego próbowałem do tej pory:
rm node_modules
i zainstaluj ponownie za pomocąnpm install
npm cache clean
jak ktoś wspomniał o tym problemie na githubie- zainstaluj pakiet webpack globalnie z
npm install -g webpack
- całkowicie usuń node i npm z mojego systemu (korzystając z tego przewodnika ) i zainstaluj ponownie używając brew
Komunikat o błędzie nadal występuje. Czego jeszcze mogę spróbować?
PS: Treść webpack.dev.config.js
to:
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
.Odpowiedzi:
Dobra, to było łatwe:
Co mnie zmyliło, że na początku tego nie potrzebowałem, prawdopodobnie coś się zmieniło wraz z nową wersją.
źródło
-g
flagi. A więc:npm i webpack-dev-server -g
rozwiązałem problem.W twoim przypadku skrypt
webpack-dev-server
jest już zainstalowany gdzieś w./node_modules
katalogu, ale system nie wie, jak uzyskać do niego dostęp. Tak więc, aby uzyskać dostęp do poleceniawebpack-dev-server
, musisz również zainstalować skrypt w zakresie globalnym .Tutaj
-g
odnosi się do zakresu globalnego.Nie jest to jednak zalecany sposób, ponieważ możesz napotkać problemy powodujące konflikty wersji; Tak więc, zamiast można ustawić polecenie
npm
„spackage.json
pliku, takich jak:"scripts": { "start": "webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors" }
To ustawienie umożliwia dostęp do żądanego skryptu za pomocą prostego polecenia
Tak krótki, aby zapamiętać i grać. I
npm
zna lokalizację modułuwebpack-dev-server
.źródło
node_modules/.bin/webpack-dev-server
?, Dlaczego mówi się, że jest to nieprawidłowe polecenie myślę uruchomionynode_modules/.bin/webpack-dev-server
jest równa działanpm run dev
Skrypt
webpack-dev-server
jest już zainstalowany w katalogu ./node_modules. Możesz zainstalować go ponownie globalnie przezlub uruchom to w ten sposób
.
oznacza, że szukaj go w bieżącym katalogu.źródło
Przędza
Miałem problem podczas biegania:
yarn start
Naprawiono to, uruchamiając najpierw:
yarn install
źródło
yarn install
działał w moim przypadku. Nie wiem, jaki był powód.npm i
cokolwiek woliszMiałem ten sam problem, ale poniższe kroki pomogły mi się z tego wydostać.
Lokalna instalacja serwera „webpack-dev-server” (w katalogu projektu, ponieważ nie był on pobierany z instalacji globalnej)
npm install --save webpack-dev-server
Potrafi sprawdzić, czy folder „webpack-dev-server” istnieje w module node_modules.
npx webpack-dev-server --mode development --config ./webpack.dev.js
npm run start
działa również dobrze, gdy twój wpis w skryptach package.json powinien być taki jak powyżej, jak bez npx.źródło
Zauważyłem, że zaakceptowana odpowiedź nie działa we wszystkich scenariuszach. Aby upewnić się, że działa w 100%, należy TAKŻE wyczyścić pamięć podręczną npm. Albo bezpośrednio Przejdź do pamięci podręcznej i wyczyść blokady, pamięci podręczne, anonymous-cli-metrics.json; lub można spróbować
npm cache clean
.Ponieważ autor wyczyścił pamięć podręczną przed wypróbowaniem zalecanego rozwiązania, możliwe, że nie udało się uczynić go częścią wymagań wstępnych.
źródło
W przypadku instalacji globalnej: npm install webpack-dev-server -g
W przypadku instalacji lokalnej npm install --save-dev webpack
Kiedy odwołujesz się do pakietu webpack w pliku package.json, próbuje on znaleźć go w lokalizacji node_modules \ .bin \
Po instalacji lokalnej plik wbpack zostanie utworzony w lokalizacji: \ node_modules \ .bin \ webpack
źródło
Zauważyłem ten sam problem po zainstalowaniu VSCode i dodaniu zdalnego repozytorium Git. W jakiś sposób
/node_modules/.bin
folder został usunięty i uruchomionynpm install --save webpack-dev-server
w wierszu poleceń, ponownie zainstalowałem brakujący folder i naprawiłem mój problem.źródło
Instaluję z,
npm install --save-dev webpack-dev-server
a następnie ustawiam package.json i webpack.config.js w ten sposób: ustawienie .Następnie uruchamiam webpack-dev-server i otrzymuję ten błąd .
Jeśli nie używam
npm install -g webpack-dev-server
do instalacji, to jak to naprawić?Naprawiłem błąd
configuration has an unknown property 'colors'
, usuwająccolors:true
. Zadziałało!źródło
Miałem podobny problem z włóczką , żadna z powyższych nie działała dla mnie, więc po prostu usunąłem
./node_modules
i uruchomiłemyarn install
i problem zniknął.źródło
npm install webpack-dev-server -g - system operacyjny Windows
Lepiej używaj sudo w Linuksie, aby uniknąć błędów uprawnień
sudo npm zainstaluj pakiet webpack-dev-server -g
Możesz użyć sudo npm install webpack-dev-server --save, aby dodać go do package.json.
Czasami może być konieczne uruchomienie poniższych poleceń.
npm install webpack-cli --save lub npm install webpack-cli -g
źródło