Uczę się React i zainstalowałem Webpack przez npm do mojego katalogu projektu, ale Zsh nie znajduje polecenia, mimo że widzę zainstalowany Webpack w moim projekcie. Użyłem npm init --yes
, a następnie npm install --save webpack
Zsh: command not found: webpack
Odpowiedz
Zainstaluj to globalnie.
npm i -g webpack
Jeśli będziesz pracować z WebPacka zainstalować WebPACK-dev-serwer zbyt
npm i -g webpack-dev-server
Polecam najpierw dowiedzieć się trochę o npm a następnie WebPack. Będziesz bardzo się zmagał. A potem zalecam, aby w ogóle nie używać pakietu internetowego. Znalazłem to zbędne jak altana. Przyklejałem moją budowę gulp i npm. Właściwie NPM robi wszystko, ale trochę trudny do wymyślenia. Gulp sprawia, że jest o wiele łatwiej.
W moim przypadku miałem ten problem z plikiem sieciowym, pomrukiem i łykiem i wydaje się, że moim problemem był problem z uprawnieniami.
Zainstalowałem Webpack i chrząkałem na całym świecie. Jednak nawet wtedy, $ webapack lub $ grunt spowodowały, że nie znaleziono polecenia
Problem polegał na tym, że npm zainstalował pakiety globalne do/usr/local/lib/node_modules, które wymagały uprawnień root'a.
Aby uniknąć konieczności używania uprawnień roota, zmieniłem katalog, w którym pakiety globalne mają zostać zainstalowane, do katalogu w $ HOME. Aby to zrobić, po tej instrukcji:
Install npm packages globally without sudo on macOS and Linux
po tym, zainstalowałem WebPACK i chrząknięcie globalnie ponownie (tym razem bez sudo) i sprawdzeniu, że zostały one zainstalowane w moim nowym katalogu.
Teraz mogę biegać bez problemu!
$ WebPack
i
$ grunt
Instalacja modułów węzła globalnie to szybkie rozwiązanie, ale polecam dodać ./node_modules/.bin
do zmiennej PATH i spróbuj zrozumieć, jaki jest problem.
Execute
~ export PATH="./node_modules/.bin:$PATH"
Następnie można po prostu użyć wszystkich pakietów zainstalowanych lokalnie w projekcie. Również polecenia takie jak mocha
lub eslint
można wykonywać bez instalowania tych pakietów na całym świecie. Istnieje kilka dobrych wyjaśnień, które mogą być również przeczytane w tym answer.
Nie rób tego ... Wstawianie względnych ścieżek w zmiennej $ PATH jest dziurą bezpieczeństwa. Zobacz http://stackoverflow.com/a/9683472/1521572 – WrksOnMyMachine
po WebPack zainstalowane lokalnie, można również użyć:
$(npm bin)/webpack
zamiast:
./node_modules/.bin/webpack
Nie ma potrzeby instalowania WebPack globalnie.
Spróbuj moja droga
Po pierwsze, w pliku package.json, dodać to:
"scripts": {
"start": "webpack"
},
Następnie w terminalu, uruchom
$npm start
Kolejny szybki sposób: Po prostu uruchom (Tak, to jest "npx")
$npx webpack
To wszystko.
Dokumentacja: nie jest to zalecana praktyka. https://webpack.js.org/get-started/install-webpack/ –
@HelmutGranda Od tego czasu może się zmienić. – atilkan