2015-09-13 15 views
9

Dziwne zachowanie na moim Yosemite OSX: od jednego dnia do drugiego wszystkie moduły mojego węzła zainstalowane przez npm install -g nie zostały znalezione przez Terminal.webpack: polecenie nie znaleziono po pakiecie sieciowym npm -g

Nie jestem pewien, czy jest to spowodowane moim węzłem v4.0.0 instalowanym dzień wcześniej.

+4

Znalazłem lewę, która częściowo odpowiedziała na problem: po uruchomieniu npm root powinieneś uzyskać aktualny katalog roboczy. Tam właśnie npm umieszcza twoje moduły podczas ich instalacji. Ale kiedy uruchomisz npm root -g, powinieneś otrzymać coś w stylu/usr/local/lib/node_modules. Jeśli otrzymasz aktualny katalog roboczy w obu przypadkach, musisz zaktualizować ścieżkę za pomocą następującego polecenia: ** npm config set prefix/usr/local ** kredyty do [gabriel ghe] (http: //gabrielghe.github .io/javascript/2015/04/29/global-installed-node-modules-not-found /) – imaginair

+2

Mój komputer faktycznie wskazywał na starą wersję węzła, ponieważ korzystałem z NVM, aby przełączać się między wersjami w różnych projektach. –

Odpowiedz

1

W końcu również użyłem NVM do zarządzania wieloma wersjami NodeJS i wszystko wróciło pod kontrolę.

6

Spróbuj

echo $(npm config get prefix)/bin 

dostaniesz ciąg, który powinien zawierać do bash_profile taki sposób

export PATH=$PATH:STRING 
1

Zainstaluj go globalnie

npm i -g webpack 

Jeśli będziesz pracować z WebPacka , zainstaluj również Webpack-dev-server

npm i -g webpack-dev-server 

po zainstalowaniu tego dwa polecenia Znalazłam też błędy podczas uruchamiania komendy

webpack 

więc dowiedzieć się problem poprzez zmianę wersję z WebPacka więc zainstalować

npm install [email protected] 

i wszystko działa dobrze dla mnie.

Polecam najpierw dowiedzieć się trochę o npm, a następnie webpack. Będziesz bardzo się zmagał. ale w końcu znajdziesz właściwy cel.

0

Webpack znajduje się w twoim folderze ./node_modules/.bin/, więc zamiast podawać tylko pakiet sieciowy jako polecenie, spróbuj tego.

./node_modules/.bin/webpack 

Masz polecenie bin npm dostać folder gdzie npm zainstaluje wykonywalne.

Możesz użyć właściwości scripts swojego pliku package.json do korzystania z pakietu sieciowego z tego katalogu, który zostanie wyeksportowany.

"scripts": { "scriptName": "webpack --config etc..." } For example: 
"scripts": { "build": "webpack --config webpack.config.js" } You can 

następnie uruchomić go z:

npm run build lub nawet z argumentami:

npm run build -- <args>

To pozwala mieć Państwo webpack.config.js w folderze głównym z Twojego projektu bez konieczności zainstalowania pakietu internetowego na świecie lub posiadania Twojego konfiguracja webpacka w folderze node_modules.