Czy ktoś może mi powiedzieć, gdzie mogę znaleźć moduły Node.js, które zainstalowałem npm
?
javascript
node.js
location
npm
trnc
źródło
źródło
$HOME/.npm-global/lib/node_modules
-g
opcji będzie zainstalować moduł do ciebie pracuje katalogów np jeśli się katalogiem powiedzieć~/Desktop/tmp
czymcd ~/Desktop/tmp
wtedy nienpm install appium
wtedy niels
widaćnode_modules package-lock.json
, ponieważ został zainstalowany moduł węzłaappium
do swojejworking directory
... bardzo mylące, ponieważ-g
powinien być zasadniczodefault
ale nie jest.Odpowiedzi:
Globalne biblioteki
Możesz uruchomić,
npm list -g
aby zobaczyć, które biblioteki globalne są zainstalowane i gdzie się znajdują. Użyjnpm list -g | head -1
dla obciętego wyjścia pokazującego tylko ścieżkę. Jeśli chcesz wyświetlić tylko paczki główne, a nie ich paczki, które instalują się wraz z nim - możesz użyć -npm list --depth=0
który pokaże wszystkie pakiety i aby uzyskać tylko pakiety globalnie zainstalowane, po prostu dodaj -g tjnpm list -g --depth=0
.W systemach Unix są zwykle umieszczane w
/usr/local/lib/node
lub/usr/local/lib/node_modules
instalowane globalnie. JeśliNODE_PATH
zmienna środowiskowa zostanie ustawiona 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 nieglobalne
Biblioteki nieglobalne są instalowane w
node_modules
podfolderze w folderze, w którym się obecnie znajdujesz.Możesz uruchomić,
npm list
aby zobaczyć zainstalowane biblioteki inne niż globalne dla bieżącej lokalizacji.Podczas instalacji użyj opcji -g, aby zainstalować globalnie
npm install -g pm2
- pm2 zostanie zainstalowany globalnie. Zwykle można go znaleźć w/usr/local/lib/node_modules
(Użyj,npm root -g
aby sprawdzić, gdzie.)npm install pm2
- pm2 zostanie zainstalowany lokalnie. Zwykle będzie to można znaleźć w katalogu lokalnym w/node_modules
źródło
npm list -g
zgodnie z sugestią zawartą w innej odpowiedzi.%USERPROFILE%\AppData\Roaming\npm\node_modules
Polecenie
npm root
powie ci efektywny katalog instalacyjny twoich pakietów npm.Jeśli bieżący katalog roboczy to pakiet węzłów lub podkatalog pakietu węzłów,
npm root
poinformuje o lokalnym katalogu instalacyjnym.npm root -g
pokaże globalny katalog główny instalacji niezależnie od bieżącego katalogu roboczego.Przykład:
Zobacz dokumentację.
źródło
node_modules
folder globalny jest w/usr/local/lib/node_modules
. Kiedy to robię, tj.sudo npm uninstall browserify -g
(Zakładając, że robiłem tosudo npm install browserify -g
wcześniej), usuwa to stamtąd./usr/local/lib/node_modules
W przypadku modułów zainstalowanych globalnie:
Inne odpowiedzi dają odpowiedzi specyficzne dla platformy, ale ogólna jest następująca:
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 globalne moduły 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ć globalną ścieżkę modułów, użyj
npm config edit
i umieśćprefix = /my/npm/global/modules/prefix
plik lub użyjnpm config set prefix /my/npm/global/modules/prefix
.Kiedy używasz niektórych narzędzi, takich jak nodist , zmieniają domyślną ścieżkę instalacji globalnych modułów npm.
źródło
W Windowsach
npm list -g
to znajdowałem. Domyślnie instalowane były moje (globalne) pakietyC:\Users\[Username]\AppData\Roaming\npm
.źródło
Jeśli szukasz pliku wykonywalnego, który zainstalowałeś npm, być może dlatego, że chciałbyś umieścić go w swojej ŚCIEŻCE, możesz po prostu zrobić
lub
źródło
command not found
błędy. Jeśli tak, dodaj powyższą PATH:export PATH=$PATH:$(npm bin -g)
voilaWe wcześniejszych wersjach moduły NPM zawsze były umieszczane w / usr / local / lib / node lub gdziekolwiek podałeś root npm w pliku .npmrc. Jednak w NPM 1.0+ moduły są instalowane w dwóch miejscach. Możesz mieć moduły zainstalowane lokalnie dla twojej aplikacji w /.node_modules lub możesz mieć zainstalowane globalnie, które będą korzystać z powyższego.
Więcej informacji można znaleźć na https://github.com/isaacs/npm/blob/master/doc/install.md
źródło
Nie bezpośrednia odpowiedź, ale może pomóc ...
Npm ma również folder pamięci podręcznej, który można znaleźć, uruchamiając
npm config get cache
(%AppData%/npm-cache
w systemie Windows).Moduły npm są najpierw pobierane tutaj, a następnie kopiowane do globalnego folderu npm (
%AppData%/Roaming/npm
w systemie Windows) lub folderu określonego projektu (your-project/node_modules
).Więc jeśli chcesz śledzić pakiety NPM i jak to zrobić, lista wszystkich pobranych pakietów NPM (jeśli pamięć podręczna NPM nie jest czyszczona) spójrz na ten folder. Struktura folderów jest taka jak
{cache}/{name}/{version}
Może to również pomóc https://docs.npmjs.com/cli/cache
źródło
Jeśli moduł został zainstalowany z
-g
flagą global ( ), można uzyskać lokalizację nadrzędną, uruchamiając następującą komendęlub
który wydrukuje lokalizację wraz z listą zainstalowanych modułów
Twoje zdrowie :-)
źródło
Najłatwiej byłoby to zrobić
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.commandline.0.10.31 \ tools \ node_modules
C: \ MyProgramData \ to czekoladowa lokalizacja repo.
źródło
Aby uzyskać zwartą listę bez zależności, po prostu użyj
źródło
Polecenie można znaleźć globalnie zainstalowane moduły
Zapewni ci lokalizację, w której zostały zainstalowane moduły node.js.
Jeśli instalujesz moduły node.js lokalnie w folderze, możesz wpisać następujące polecenie, aby zobaczyć lokalizację.
źródło
Z dokumentów :
Można uzyskać
{prefix}
znpm config get prefix
. (Przydatne, gdy zainstalowałeś węzeł z nvm).źródło
Z dokumentów :
Można uzyskać
{prefix}
znpm config get prefix
. (Przydatne, gdy zainstalowałeś węzeł z nvm).Przeczytaj o lokalnie .
Przeczytaj o całym świecie .
źródło
W Ubuntu 14.04 są one instalowane na
/usr/lib/node_modules
źródło
Zaczynałem wariować, szukając prawdziwej konfiguracji, więc oto cała lista plików konfiguracyjnych na Linuksie:
w systemie Windows: - c / Program \ Files / nodejs / node_modules / npm / npmrc
Następnie w pliku konfigurowany jest prefiks:
Prefiks jest domyślnie ustawiony na / usr w systemie Linux, na $ {APPDATA} \ npm w systemie Windows
Moduły węzłów znajdują się pod drzewem $ prefix, a ścieżka powinna zawierać $ prefix / bin
Może występować problem:
/root/.npmrc
możesz użyć!/home/youruser/.npmrc
.npm set -g prefix /usr
go używasz , ustawia globalny plik / etc / npmrc, ale nie zastępuje lokalnegoOto wszystkie informacje, których brakowało, aby znaleźć to, co skonfigurowano gdzie. Mam nadzieję, że byłem wyczerpujący.
źródło
Jak mówią inne odpowiedzi, najlepszym sposobem jest zrobienie tego
Jeśli jednak masz zainstalowaną dużą liczbę
npm
pakietów, wynik tego polecenia może być bardzo długi i może być trudny do przewinięcia w górę (czasami nawet nie jest możliwe przewinięcie tak daleko wstecz).W takim przypadku potokuj wyjście do
more
programu, tak jak toźródło
Windows 10 : Kiedy uruchomiłem
npm prefix -g
, zauważyłem, że miejsce instalacji znajduje się w ścieżce powłoki git, którą instalowałem. Nawet po dodaniu tej lokalizacji do ścieżki polecenie z globalnie zainstalowanego pakietu nie zostanie rozpoznane. Naprawione przez:npm config edit
źródło
Rozszerzanie innych odpowiedzi -
npm list -g
pokaże lokalizację globalnie zainstalowanych pakietów.
Jeśli chcesz wypisać tę listę do pliku, który możesz łatwo wyszukać w edytorze tekstu:
npm list -g > ~/Desktop/npmfiles.txt
źródło
Btw, npm wyszuka moduły node_modułów w folderach nadrzędnych (do samego katalogu głównego), jeśli nie można ich znaleźć w lokalnych.
źródło
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óry jest w{NODE_GLOBAL_DIR}/bin/wsproxy
, możesz po prostu:Istnieje również sposób działania
npm
cli @ec9fcc1
/lib/npm.js#L254 z:Zobacz także
ec9fcc1
/lib/install.js#L521 :Gdzie
globalPrefix
jest ustawiony domyślnie wec9fcc1
/lib/config/defaults.js#L92-L105 z:źródło
/usr/bin/node
, ale oczywiście (ponieważ jest to bin) nie ma modułów; zamiast tego są w/usr/lib/node_modules
.npm
wdrożeniaJeśli masz zainstalowany program Visual Studio, zobaczysz, że zawiera on własną kopię węzła osobną od tej, która jest na ścieżce, gdy sam zainstalowałeś węzeł - mój jest w C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Community \ MSBuild \ Microsoft \ VisualStudio \ NodeJs.
Jeśli uruchomisz komendę npm z tego katalogu, dowiesz się, które moduły węzłów są zainstalowane w Visual Studio.
źródło
Windows 7, 8 i 10 -% USERPROFILE% \ AppData \ Roaming \ npm \ node_modules.
Uwaga: Jeśli jesteś gdzieś w typie folderu,
cd ..
dopóki nie znajdziesz się wC:
katalogu. Następnie wpiszcd %USERPROFILE%\AppData\Roaming\npm\node_modules
. I magicznie%USERPROFILE%
zmieni się wUsers\YourUserProfile\
. Chciałem tylko wyjaśnić pomysły zgłoszoneDecko
w pierwszej odpowiedzi.npm list -g
wyświetli listę wszystkich bitów zainstalowanych globalnie. Jeśli potrzebujesz znaleźć swój projekt związanynpm package
wtedycd 'your angular project xyz'
, uruchomnpm list
. Wyświetli listę modułów wnpm package
. Otrzymasz także listędependencies
brakujących i może być konieczne skuteczne uruchomienie tego projektu.źródło