Nodejs nie może znaleźć zainstalowanego modułu w systemie Windows?
W tej chwili uczę się nodejs na Windows. Kilka modułów jest instalowanych globalnie z npm.cmd i nodejs nie udało się znaleźć zainstalowanych modułów. Weźmy na przykład jade,
npm install jade -g
Jade jest zainstalowany w katalogu "C:\Program Files (x86)\nodejs\node_modules"
, ale poniższy kod zakończy się błędem "Cannot find module 'jade'"
,
var jade = require('jade');
Jednakże, kod będzie działał pomyślnie, gdy jade jest lokalnie zainstalowany (bez opcji-g w npm). Nie chcę używać lokalnie zainstalowanych modułów, to dla mnie strata miejsca na dysku, może niech mi ktoś pomoże aby Moduły zainstalowane globalnie działały na Windowsie?
17 answers
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 gdziekolwiek npm zakończy instalację modułów na Twoim Windows flavor. Aby to zrobić raz na zawsze, dodaj to jako zmienną systemową w zakładce Zaawansowane w oknie dialogowym Właściwości systemu(uruchom control.exe sysdm.cpl,System,3
).
Szybkie rozwiązanie w Windows 7+ to po prostu uruchomić:
rem for future
setx NODE_PATH %AppData%\npm\node_modules
rem for current session
set NODE_PATH=%AppData%\npm\node_modules
Warto wspomnieć, że {[1] } jest używany tylko przy importowaniu modułów w aplikacjach węzłów. Kiedy chcesz używać globalnie zainstalowane binaria modułów w Twoim CLI musisz dodać je również do PATH
, ale bez node_modules
części (na przykład %AppData%\npm
W Windows 7/8/10).
stara historia
Jestem całkiem nowy w node.sam js więc nie do końca mogę mieć rację ale z mojego doświadczenia to działa w ten sposób:- - g nie jest sposobem na zainstalowanie bibliotek globalnych, jest tylko sposobem na umieszczenie ich na ścieżce systemowej, dzięki czemu można je wywołać z linii poleceń bez zapisywania pełnej ścieżki za nich. Jest to przydatne np. wtedy aplikacja node konwertuje pliki lokalne, np. less - Jeśli zainstalujesz ją globalnie, możesz użyć jej w dowolnym katalogu.
- węzeł.sam js nie spojrzał na npm global dir, używa innego algorytmu, aby znaleźć wymagane pliki: http://nodejs.org/api/modules.html#modules_file_modules (W zasadzie skanuje każdy folder w ścieżce, zaczynając od bieżącego dla folderu node_modules i sprawdza go).
Zobacz podobne pytanie o więcej szczegółów: Jak zainstalować moduł globalnie za pomocą npm?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-14 12:38:35
Jeśli jesteś na platformie windows7 może powinieneś zmienić NODE_PATH w następujący sposób:
%AppData%\npm\node_modules
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-16 15:49:39
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 Windows 7 musisz dodać to do swojej globalnej ścieżki zmiennej:
C:\Users\{USER}\AppData\Roaming\npm
Ważne: tylko to bez node_modules
części, Zajęło mi pół godziny, aby to zobaczyć.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-02 08:28:11
Aby działał na windows 10 rozwiązałem go dodając folder %USERPROFILE%\AppData\Roaming\npm
do mojej ścieżki. Dodanie \node_modules
w ten sposób: %USERPROFILE%\AppData\Roaming\npm\node_modules\
nie zadziałało dla mnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-12 13:18:14
Zacytuję tylko post na blogu tego węzła ...
Ogólnie zasadą jest:
- Jeśli instalujesz coś, czego chcesz użyć w swoim programie, używając require ('whatever'), zainstaluj to lokalnie, w katalogu głównym Twój projekt.
- Jeśli instalujesz coś, co chcesz użyć w powłoce, w linii poleceń lub coś takiego, zainstaluj go globalnie, tak aby jego pliki binarne trafiają do zmiennej środowiskowej PATH.
...
Oczywiście, są przypadki, w których chcesz zrobić jedno i drugie. Coffee-script I Express to dobre przykłady aplikacji, które mają interfejs wiersza poleceń, a także biblioteka. W takich przypadkach można wykonaj jedną z następujących czynności:
- zainstaluj go w obu miejscach. Poważnie, masz aż tak mało miejsca na dysku? W porządku, naprawdę. To małe programy JavaScript.
- zainstaluj go globalnie, a następnie npm link coffee-script lub npm link express (jeśli jesteś na platformie, która obsługuje dowiązania symboliczne.) Then wystarczy tylko zaktualizować kopię globalną, aby zaktualizować wszystkie dowiązania symboliczne jako cóż.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-28 07:53:59
Aby uczynić go krótkim, użyj npm link jade
w katalogu aplikacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-06 17:09:28
Próbowałem dodać / edytować zmienne środowiskowe i doszedłem do wniosku, że:
- Edytuj / dodaj
User variables
(w górnym polu) zamiastSystem variables
(w dolnej części); w przeciwnym razie musisz "uruchomić jako administrator", aby to zadziałało. - dołącza
;%AppData%\npm
doPath
, aby użyć go jako narzędzia wiersza poleceń (jeśli jest obsługiwane, jakjshint
igrunt-cli
). - Utwórz
NODE_PATH
i ustaw go%AppData%\npm\node_modules
w celurequire('<pkg_name>')
w skryptach bez instalowania go w katalogu projektu. (Alenpm link
is suggested for to wymaganie, jeśli pracujesz na systemie operacyjnym zmklink
, takim jak Vista i nowsze.)
Środowisko testowe:
- Win 7 (Ent., 64-bit, SP1), Node.js 4.2.4, npm 2.14.12
- Win 8.1 (Ent., 64-bit), Node.js 0.10.30, npm 1.4.21
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-05 17:16:47
Napotkałem ten problem na Windows 7, uruchamiając
npm install -g gulp
Jako administrator będąc zalogowanym jako zwykły użytkownik.
Rozwiązanie: podczas wykonywania tej samej instalacji co zwykły użytkownik (nie "Uruchom jako administrator" dla cmd) wszystko było w porządku. Domyślam się, że jest to związane z domyślną ścieżką instalacji i wyszukiwania.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-26 20:28:00
Strasznie się bawiłem, uruchamiając Moduły globalne. Ostatecznie dodałem jawnie C:\Users\yourusername\AppData\Roaming\npm
do zmiennej PATH pod zmiennymi systemowymi. Musiałem również mieć tę zmienną przed zmienną ścieżki nodejs na liście.
Używam systemu Windows 10.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-23 12:21:00
Z mojego doświadczenia z win8. 1 npm instaluje Moduły na
C:\Users\[UserName]\AppData\Roaming\npm\node_modules
ale dumply przeszukuje je na
C:\Users\[UserName]\node_modules
.
Jeden prosty moduł odniesienia rozwiązania w aplikacji przez pełną ścieżkę:
var jsonminify = require("C:/Users/Saulius/AppData/Roaming/npm/node_modules/jsonminify");
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-03 14:49:30
Dla windows, wszyscy mówili, że należy ustawić zmienne środowiskowe dla modułów nodejs i npm, ale czy wiesz dlaczego? Dla niektórych modułów, mają one narzędzie wiersza poleceń, po zainstalowaniu modułu, tam are [moduł].cmd plik w C:\Program Files\nodejs , i służy do uruchamiania komendy w oknie. Jeśli więc nie dodasz ścieżki zawierającej plik cmd do zmiennych środowiskowych %PATH%, nie uruchomisz ich pomyślnie przez okno poleceń.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-09 09:52:31
Alternatywnie możesz dodać do ~/.npmrc
right prefiks . Mam C:\Program Files\nodejs
Na 64 Win7.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-18 18:08:49
Natknąłem się na to pytanie, ponieważ chcę użyć node.js z visual studio 2015 na moim nowym komputerze z systemem windows 10. Użyłem node.js na windows 7 i 8 i 8.1 nigdy nie jest problemem.js szuka modułu. Używam starszego węzła.js 0.10.39 ponieważ muszę korzystać z tej wersji ze względu na moduł serial i RFXCOM.
Odpowiedzią dla windows 10 jest ustawienie NODE_PATH w zmiennych środowiska z C:\Users\User\node_modules.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-23 16:22:10
W systemie Windows 10 musiałem lokalnie zainstalować gulp w folderze:
C:\Users\myaccount\AppData\Roaming\npm\node_modules
npm install gulp
Naprawiono mój problem z "gulp nie jest rozpoznawany"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-19 17:28:02
Miałem ten sam problem, próbując zainstalować bowera z npm install -g bower
Myślę, że to dlatego, że node został zainstalowany przez innego użytkownika , nie mnie.
Odinstalowałem node, a następnie ponownie go zainstalowałem. Podczas instalacji zobaczyłem ten tekst dla opcji Dodaj do ścieżki > Moduły npm :
Komunikat w instalacji węzła
Po instalacji node wykonałem npm install -g bower
ponownie. A teraz bower działa.
Na pewno nie jest konieczna ponowna instalacja węzeł z własnym użytkownikiem, jak ja. Rozwiązaniem muszą być zmienne NODE_PATHlub PATH, jak wyjaśnili inni użytkownicy.
To tylko po to, aby zauważyć, że ten problem występuje tylko wtedy, gdy węzeł został zainstalowany przez innego użytkownika (lub gdy podczas instalacji nie została zaznaczona opcja Dodaj do PATH > npm modules).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-14 10:45:12
Wystarczy pobrać i ponownie zainstalować węzeł z this i to naprawi wszystkie problemy ze ścieżką.
Nie zapomnij ponownie uruchomić wiersza polecenia lub terminala.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-29 04:47:47
Jeśli używasz systemu windows, wymaga to kilku kroków , 1) Utwórz plik o nazwie pakiet.json
{
"name": "hello"
, "version": "0.0.1"
, "dependencies": {
"express": "*"
}
}
Gdzie hello to nazwa pakietu, a * oznacza najnowszą wersję zależności
2) Kod do katalogu projektu i uruchom następujące polecenie
Npm install
Instaluje zależności
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-13 13:23:34