2015-04-29 14 views
16

globalnie mam zainstalowane dwa pakiety NPM "download" i "enigmavirtualbox" poprzez linię poleceń:Globalny NPM zainstalowane, ale nie znaleziono polecenia

npm install -g download i npm install -g engimavirtualbox

staram się je wykorzystać w pliku wsadowym do bundle jeden plik .exe z mojego projektu węzła. W obu przypadkach komendy npm list -g <packagename> dają odpowiednią wersję wyjściową, niezależnie od bieżącego katalogu roboczego.

Jednak w moim skrypcie wsadowym nie można znaleźć poleceń "pobierz" i "enigmavirtualbox".

Po uruchomieniu npm root -g uzyskuję C:\Users\<username>\AppData\Roaming\npm\node_modules i zaglądam do tego folderu, widzę, że istnieją foldery dla obu pakietów.

Co próbowałem:

  • Zmiana npm root opisanym here
  • odinstalować i zainstalować pakiety
  • Dodaj env. zmienna NODE_PATH wskazująca na C:\Users\<username>\AppData\Roaming\npm\node_modules
  • Dodaj C:\Users\<username>\AppData\Roaming\npm\node_modules do ŚCIEŻKI env. zmienna

Ta sama konfiguracja działa na moim drugim komputerze (oba uruchamiają Win7 64bit). Czy coś jest nie tak z moją instalacją węzła lub co robię źle?

+0

https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows – Lonely

Odpowiedz

31

Pliki binarne i pliki .cmd kończą się na C:\Users\<username>\AppData\Roaming\npm (z wyjątkiem node_modules na końcu), dodając tę ​​ścieżkę do encji PATH. zmienna naprawiła problem.

+11

który działa , chociaż może lepiej byłoby użyć symbolu wieloznacznego: '% USERPROFILE% \ AppData \ Roaming \ npm'. Linia ta musi iść przed jakimikolwiek ścieżkami npm, node lub nodejs w zmiennej środowiskowej PATH, aby npm mógł odpowiednio znaleźć twoje pakiety globalne. – gugol

+0

Stworzyłem własny węzeł package.json i uruchomiłem 'npm install -g' (nie opublikowałem go, ponieważ potrzebuję go, aby zachować prywatność). Spowoduje to umieszczenie danych pakietu i zależności w '% appdata% \ npm \ node_modules', ale nie ma tam pliku' .cmd'. – deed02392

2

Jeśli powyższa metoda nie działa, a następnie użyć tej komendy jawnie ustawić ścieżkę

npm config set prefix c:/Users/<username>/AppData/Roaming/npm 
Powiązane problemy