Gdzie npm instaluje Pakiety?

Czy ktoś może mi powiedzieć, gdzie mogę znaleźć węzeł?Moduły js, które zainstalowałem za pomocą npm?

Author: Lorenzo B, 2011-05-08

16 answers

Biblioteki Globalne

Możesz uruchomić npm list -g, aby zobaczyć, gdzie zainstalowane są biblioteki globalne.

W systemach uniksowych są zwykle umieszczane w /usr/local/lib/node lub /usr/local/lib/node_modules, gdy są instalowane globalnie. Jeśli ustawisz zmienną środowiskową NODE_PATH na tę ścieżkę, moduły można znaleźć według węzła.

Windows XP - %USERPROFILE%\AppData\npm\node_modules
Windows 7, 8 i 10 - %USERPROFILE%\AppData\Roaming\npm\node_modules

Biblioteki Nie-globalne

Biblioteki nie-globalne są instalowane w podfolderze node_modules w folderze, w którym aktualnie się znajdujesz.

Możesz uruchomić npm list, aby zobaczyć zainstalowane biblioteki nie-globalne dla bieżącej lokalizacji.

 743
Author: Decko,
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
2018-10-12 10:48:13

Polecenie npm root powie Ci efektywny katalog instalacji Twoich pakietów npm.

Jeśli twój bieżący katalog roboczy jest pakietem węzłów lub podkatalogiem pakietu węzłów, npm root powie Ci lokalny katalog instalacji. npm root -g wyświetli globalny katalog główny instalacji niezależnie od bieżącego katalogu roboczego.

Zobacz dokumentację.

 418
Author: Joe Hawkins,
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-08-11 23:12:32

Użyj polecenia npm root -g, aby znaleźć globalną ścieżkę npm.

Przykład:

$ npm root -g
/usr/local/lib/node_modules
 145
Author: Ravi,
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
2018-04-15 14:35:38

Dla modułów zainstalowanych globalnie:

Inne odpowiedzi dają odpowiedzi specyficzne dla platformy, ale ogólna jest taka:

Kiedy instalujesz moduł globalny za pomocą npm install -g something, npm wyszukuje zmienną konfiguracyjną prefix, aby wiedzieć, gdzie zainstalować moduł.

Możesz uzyskać tę wartość, uruchamiając npm config get prefix

Aby wyświetlić wszystkie moduły globalne dostępne w tym folderze użyj npm ls -g --depth 0 (depth 0 aby nie wyświetlać ich zależności).

Jeśli chcesz zmienić globalny ścieżka do modułów, użyj npm config edit i umieść prefix = /my/npm/global/modules/prefix w pliku.

Kiedy używasz niektórych narzędzi, takich jak nodist, zmieniają one domyślną ścieżkę instalacji globalnych modułów npm.

 65
Author: jakub.g,
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-12-04 15:56:42

W systemie windows użyłem npm list -g, aby dowiedzieć się, że domyślnie zainstalowane są moje (globalne) pakiety C:\Users\[Username]\AppData\Roaming\npm.

 57
Author: 9swampy,
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-04-08 11:07:19

We wcześniejszych wersjach npm moduły były zawsze umieszczane w /usr / local / lib / node lub gdziekolwiek podałeś npm root wewnątrz .plik npmrc. Jednak w NPM 1.0+ moduły są instalowane w dwóch miejscach. Moduły mogą być instalowane lokalnie w aplikacji w /.node_modules lub możesz je zainstalować globalnie, które użyją powyższego.

Więcej informacji można znaleźć na stronie https://github.com/isaacs/npm/blob/master/doc/install.md

 15
Author: Nick Campbell,
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
2011-05-08 16:30:49

Jeśli moduł został zainstalowany z flagą global (- g), możesz uzyskać lokalizację nadrzędną, uruchamiając następujące polecenie

Npm get prefix

LUB

Npm ls-g --depth=0

Który wyświetli lokalizację wraz z listą zainstalowanych modułów

Pozdrawiam : -)

 11
Author: dheeran,
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-08-24 14:19:16

Nie bezpośrednia odpowiedź, ale może pomóc ....

Npm posiada również folder cache, który można znaleźć uruchamiając npm config get cache (%AppData%/npm-cache Na Windows).

Moduły npm są najpierw pobierane tutaj, a następnie kopiowane do folderu globalnego npm (%AppData%/npm/Roaming w systemie Windows) lub folderu specyficznego dla projektu (your-project/node_modules).

Więc jeśli chcesz śledzić pakiety npm i kilka sposobów, lista wszystkich pobranych pakietów npm (jeśli pamięć podręczna npm nie jest czyszczona) spójrz na ten folder. Struktura folderów jest jak {cache}/{name}/{version}

To może również pomóc https://docs.npmjs.com/cli/cache

 11
Author: Alireza Fattahi,
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-05-20 09:45:34

Jeśli szukasz pliku wykonywalnego zainstalowanego przez npm, może dlatego, że chciałbyś umieścić go w swojej ścieżce, możesz po prostu zrobić

npm bin

Lub

npm bin -g
 11
Author: Ken Goodridge,
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
2018-01-02 21:43:30

Najprostszym sposobem byłoby zrobić

Npm list-g

Aby wyświetlić listę pakietów i wyświetlić ich zainstalowaną lokalizację.

Zainstalowałem npm przez chololatey, więc lokalizacja jest

C:\MyProgramData\chocolatey\lib\nodejs./ align = "left" / linear0.10.31 \ tools\node_modules

C:\MyProgramData\ is chocolatey repo location.

 9
Author: Tharaka,
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-09-11 05:28:21

Możesz znaleźć globalnie zainstalowane moduły za pomocą polecenia

npm list -g

Dostarczy Ci miejsce, w którym węzeł.zainstalowano Moduły js.

C:\Users\[Username]\AppData\Roaming\npm

Jeśli zainstalujesz node.Moduły jslokalnie w folderze możesz wpisać następujące polecenie, aby zobaczyć lokalizację.

npm list
 4
Author: Abdul Alim Shakir,
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-10-30 04:42:32

Z docs :

W npm 1.0 są dwa sposoby instalacji:

  • Globalnie -- to wrzuca moduły do {prefix}/lib/node_modules i umieszcza pliki wykonywalne w {prefix}/bin, Gdzie {prefix} jest zwykle coś w stylu /usr/local. Instaluje również strony podręcznika w {prefix}/share/man, jeśli są dostarczone.

  • Lokalnie -- instaluje pakiet w bieżącym katalogu roboczym. Node modules go in ./node_modules, executables go in ./node_modules/.bin/, A strony man nie są instalowane w ogóle.

Możesz dostać {prefix} z npm config get prefix. (Przydatne podczas instalacji node z nvm).

 3
Author: edelans,
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-08-02 13:35:10

Z docs :

Pakiety są wrzucane do folderu node_modules pod prefiksem. Podczas instalacji lokalnie oznacza to, że możesz wymagaj ("nazwa_pakietu") załadowania głównego modułu lub wymagaj ("nazwa_pakietu/lib/path/to/sub/module") załadowania innych modułów.

Globalne instalacje w systemach uniksowych przejdź do {prefix} / lib / node_modules. Globalne instalacje w systemie Windows przejdź do {prefix} / node_modules (czyli nie / align = "left" / )

Pakiety Scoped są zainstalowane w ten sam sposób, z tym, że są zgrupowane razem w podfolderze odpowiedniego folderu node_modules z nazwa tego przedrostka zakresu przez symbol@, np. npm install @ myorg/paczka umieściłaby paczkę w {prefix}/node_modules/@myorg / package. Zobacz zakres Po Więcej Szczegółów.

Jeśli chcesz wymagać() pakietu, zainstaluj go lokalnie.

Możesz otrzymać {prefix} za pomocą npm config get prefix. (Przydatne podczas instalacji node z nvm).

Przeczytaj o lokalnie .
Przeczytaj o globalnie .

 3
Author: Randall Flagg,
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-08-25 09:54:42

W Ubuntu 14.04 są zainstalowane w

/usr / lib/node_modules

 2
Author: Ashutosh Singh,
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-08-25 11:49:37

Jak mówią inne odpowiedzi, najlepszym sposobem jest zrobić

npm list -g

Jednakże, jeśli masz zainstalowaną dużą liczbę pakietów npm, wyjście tego polecenia może być bardzo długie i trudne do przewinięcia w górę (czasami nawet nie jest możliwe przewinięcie tak daleko w tył).

W tym przypadku, podłącz Program more, tak jak to

npm list -g | more
 1
Author: Raphi,
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-05-11 23:07:53

Jeśli próbujesz uzyskać dostęp do globalnego katalogu z kodu, możesz cofnąć się z process.execPath. Na przykład, aby znaleźć wsproxy, która znajduje się w {NODE_GLOBAL_DIR}/bin/wsproxy, możesz po prostu:

path.join(path.dirname(process.execPath), 'wsproxy')
 1
Author: A T,
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
2018-09-10 14:24:19