W tej chwili uczę się nodejs na Windows. Kilka modułów jest instalowanych globalnie za pomocą npm.cmd, a nodejs nie znalazł zainstalowanych modułów. Weźmy na przykład jadeit,
npm install jade -g
Jade jest zainstalowany w katalogu "C:\Program Files (x86)\nodejs\node_modules"
, ale poniższy kod zawiedzie z "Cannot find module 'jade'"
błędem,
var jade = require('jade');
Jednak kod będzie działał poprawnie, gdy jade jest zainstalowany lokalnie (bez opcji -g w npm). Nie chcę używać modułów zainstalowanych lokalnie, to dla mnie marnowanie miejsca na dysku. Jak sprawić, aby globalnie zainstalowane moduły działały w systemie Windows?
Odpowiedzi:
Dodaj zmienną środowiskową o nazwie
NODE_PATH
i ustaw ją na%USERPROFILE%\Application Data\npm\node_modules
(Windows XP),%AppData%\npm\node_modules
(Windows 7/8/10) lub wszędzie tam, gdzie npm kończy instalowanie modułów w twoim systemie Windows. Aby to zrobić raz na zawsze, dodaj to jako zmienną systemową na karcie Zaawansowane w oknie dialogowym Właściwości systemu (uruchomcontrol.exe sysdm.cpl,System,3
).Szybkim rozwiązaniem w systemie Windows 7+ jest po prostu uruchomienie:
Warto wspomnieć, że
NODE_PATH
jest używane tylko podczas importowania modułów w aplikacjach Node. Jeśli chcesz używać globalnie zainstalowanych plików binarnych modułów w interfejsie CLI, musisz dodać go również do swojegoPATH
, ale beznode_modules
części (na przykład%AppData%\npm
w systemie Windows 7/8/10).Stara historia
Sam jestem całkiem nowy w node.js, więc nie mogę mieć całkowitej racji, ale z mojego doświadczenia wynika, że działa to w ten sposób:
Zobacz podobne pytanie, aby uzyskać więcej informacji: Jak zainstalować moduł globalnie za pomocą npm?
źródło
set NODE_PATH=C:\Documents and Settings\DevUser\Application Data\npm\node_modules
, i działa ona zgodnie z oczekiwaniami. Dziwne, że globalnie zainstalowane moduły są umieszczone w '% USERPROFILE% \ Application Data \ npm \ node_modules' w systemie Windows, tymczasem w NODE_PATH nie ma znaków cudzysłowu.C:\Program Files\nodejs\node_modules\npm\node_modules
nie mam modułu, który właśnie zainstalowałemnpm install -g express
i był dostępny wC:\Documents and Settings\swapnil\Application Data\npm\node_modules
%USERPROFILE%\AppData\Roaming\npm\node_modules
npm list -g
. Pierwszy wiersz danych wyjściowych będzie rodzicem globalnego katalogu modułów_węzła - innymi słowy, globalnym katalogiem modułów_węzła jest{output}\node_modules
. Po uruchomieniu drukuje także katalog instalacyjnynpm install --global {xyz}
jeśli jesteś na platformie Windows7, może powinieneś zmienić NODE_PATH w następujący sposób:
%AppData%\npm\node_modules
źródło
Wiem, że mogę obudzić zombie, ale myślę, że to nadal problem, jeśli potrzebujesz globalnego dostępu do modułów węzłów w systemie Windows 7, musisz dodać to do ścieżki globalnej zmiennej:
Ważne: tylko to bez
node_modules
części zajęło mi pół godziny, aby to zobaczyć.źródło
node_modules
części, też z tym miałem problem!Aby działało w systemie Windows 10, rozwiązałem go, dodając folder
%USERPROFILE%\AppData\Roaming\npm
do mojej ŚCIEŻKI. Po\node_modules
dołączeniu w ten sposób:%USERPROFILE%\AppData\Roaming\npm\node_modules\
nie działało dla mnie.źródło
path
zmiennych środowiskowych, a następnie możemy uruchomić go bezpośrednio wZacytuję z postu na blogu tego węzła ...
źródło
They’re tiny JavaScript programs.
Niektóre z tych bibliotek z pewnością nie są małe!Krótko mówiąc, użyj
npm link jade
w katalogu aplikacji.źródło
npm link jade
nie działa w systemie Windows, npm zwraca komunikat o błędzie w następujący sposób:npm ERR! Error: npm link not supported on windows
npm link
z okna poleceń administratora.Próbowałem dodać / edytować zmienne środowiskowe i doszedłem do wniosku, że:
User variables
(w górnym polu) zamiastSystem variables
(w dolnej części); w przeciwnym razie musisz „uruchomić jako administrator”, aby działał.;%AppData%\npm
doPath
, aby użyć go jako narzędzia wiersza poleceń (jeśli jest obsługiwane, takie jakjshint
igrunt-cli
).NODE_PATH
i ustaw go%AppData%\npm\node_modules
wrequire('<pkg_name>')
skryptach bez instalowania go w katalogu projektu. (Alenpm link
jest to zalecane dla tego wymagania, jeśli pracujesz na systemie operacyjnymmklink
takim jak Vista i nowszym).Środowisko testowe:
źródło
Ciężko mi było uruchomić globalne moduły. Ostatecznie wyraźnie dodałem
C:\Users\yourusername\AppData\Roaming\npm
do zmiennej PATH w Zmienne systemowe. Musiałem także, aby ta zmienna znalazła się przed zmienną ścieżki nodejs na liście.Korzystam z systemu Windows 10.
źródło
Natknąłem się na ten problem w systemie Windows 7, z systemem
jako administrator podczas logowania jako zwykły użytkownik.
Rozwiązanie: Podczas wykonywania tej samej instalacji, co zwykły użytkownik (nie „uruchamiaj jako administrator” dla cmd) wszystko było w porządku. Myślę, że jest to związane z domyślną ścieżką instalacji i wyszukiwania.
źródło
Z mojego doświadczenia z Win8.1 npm instaluje moduły,
C:\Users\[UserName]\AppData\Roaming\npm\node_modules
ale po prostu je przeszukujeC:\Users\[UserName]\node_modules
.Jeden prosty moduł referencyjny rozwiązania w aplikacji według pełnej ścieżki:
źródło
W systemie Windows wszyscy mówili, że powinieneś ustawić zmienne środowiskowe dla modułów nodejs i npm, ale wiesz dlaczego? W przypadku niektórych modułów mają one narzędzie wiersza polecenia, po zainstalowaniu modułu jest plik [module] .cmd w C: \ Program Files \ nodejs , i służy do uruchamiania w oknie polecenia. Jeśli więc nie dodasz ścieżki zawierającej plik cmd do zmiennych środowiskowych % PATH% , nie uruchomisz ich pomyślnie w oknie poleceń.
źródło
Miałem ten sam problem, próbując zainstalować altanę
npm install -g bower
Myślę, że było tak, ponieważ węzeł został zainstalowany przez innego użytkownika , a nie mnie.
Odinstalowałem węzeł, a następnie ponownie go zainstalowałem. Podczas instalacji widziałem ten tekst dla opcji Dodaj do ŚCIEŻKI> modułów npm :
Komunikat w instalacji węzła
Po instalacji węzła wykonałem
npm install -g bower
ponownie. A teraz altana działa.Na pewno nie jest konieczna ponowna instalacja węzła z własnym użytkownikiem, takim jak ja. Rozwiązanie musi odbywać się za pomocą zmiennych NODE_PATH lub PATH , jak wyjaśnili inni użytkownicy.
Należy tylko zauważyć, że ten problem występuje tylko wtedy, gdy węzeł został zainstalowany przez innego użytkownika (lub jeśli podczas instalacji opcja Dodaj do PATH> moduły npm nie została zaznaczona).
źródło
Dla mnie pracował na Windows 10
npm config set prefix %AppData%\npm\node_modules
źródło
Alternatywnie możesz dodać do
~/.npmrc
prawego prefiksu . MamC:\Program Files\nodejs
64 Win7.źródło
Natknąłem się na to pytanie, ponieważ chcę używać node.js w Visual Studio 2015 na nowym komputerze z Windows 10. Użyłem node.js w Windows 7 i 8 i 8.1. Nigdy nie ma problemu, aby node.js znalazł moduł. Korzystam ze starszego węzła.js 0.10.39, ponieważ muszę korzystać z tej wersji ze względu na moduł szeregowy i RFXCOM.
Odpowiedzią dla systemu Windows 10 jest ustawienie parametru NODE_PATH w zmiennych środowiskowych za pomocą C: \ Users \ User \ node_modules.
źródło
C:\Users\User\node_modules
Widzę niektóre moduły wC:\Users\User\AppData\Roaming\npm\node_modules
Widzę niektóre moduły wC:\Users\User\node_modules
Również zlokalizowane wC:\Program Files (x86)\nodejs\node_modules\npm\node_modules
Nie wiem, jak to się dzieje. Który jest i dlaczego zrobili to w ten sposób?W systemie Windows 10 musiałem lokalnie zainstalować gulp w folderze:
C: \ Users \ myaccount \ AppData \ Roaming \ npm \ node_modules
To naprawiło mój problem „gulp nie został rozpoznany”
źródło
Wystarczy pobrać i ponownie zainstalować węzeł z tego miejsca, a to naprawi wszystkie problemy ze ścieżką.
Nie zapomnij ponownie uruchomić wiersza polecenia lub terminala.
źródło
Wszystkie powyższe odpowiedzi nie działały dla mnie. Jedyną rzeczą, która ostatecznie działała, było dodanie% AppData% \ npm do zmiennej ścieżki środowiskowej ORAZ usunięcie dwóch plików ng w C: \ Program Files \ nodejs.
Pakiety ng nie zostały zainstalowane w C: \ Program Files \ nodejs \ node_modules, więc było oczywiste, że użycie binarnego ng z katalogu nodejs nie zadziała.
Nie jestem pewien, dlaczego wyszukiwał w tym katalogu, ponieważ już skonfigurowałem - zmienną środowiskową PATH - .npmrc w C: \ Users \ MyUser - Próbowałem dodać zmienne systemowe i / lub NODE_PATH
źródło
jeśli używasz systemu Windows, zajmie to kilka kroków, 1) utwórz plik o nazwie package.json
gdzie hello to nazwa pakietu, a * oznacza najnowszą wersję zależności
2) kod do katalogu projektu i uruchom następującą komendę
instalacja npm
Instaluje zależności
źródło