Jak wyświetlić listę pakietów zainstalowanych przez użytkownika npm?

628

Jak wyświetlić WYŁĄCZNIE pakiet zainstalowany przez użytkownika npm? Kiedy to robię npm -g list, wypisuje każdy pakiet i ich zależności, czego nie chcę.

lolski
źródło

Odpowiedzi:

1245

To też działa całkiem dobrze: npm list -g --depth=0

  • npm : narzędzie wiersza polecenia menedżera pakietów Node
  • lista -g : wyświetla drzewo każdego pakietu znalezionego w folderach użytkownika (bez opcji -g pokazuje tylko pakiety bieżącego katalogu)
  • głębokość 0 / - głębokość = 0 : unikaj uwzględnienia zależności każdego pakietu w widoku drzewa
aris
źródło
Zwróć pusty wynik. Moja wersja npm to 3.6.0.
Bagusflyer
4
Dlaczego ta --depth=0opcja nie jest wymieniona podczas uruchamiania npm help ls?
Marecky,
Jeśli instalujesz moduły w innym folderze przy użyciu --prefix, musisz dodać --prefixrównież do tego npm listpolecenia.
Sany Liew
1
Warto również dodać, | grep -v "duped"aby usunąć zduplikowane zależności na liście
Spencer Pollock
1
działał idealnie w systemie Windows.
słoneczny prakash
132

Możesz uzyskać listę wszystkich globalnie zainstalowanych modułów, używając:

ls `npm root -g`

Gil
źródło
13
ls -lh `npm root -g`wyświetla je na ładnej liście.
LanceLafontaine
3
To rozwiązanie jest znacznie szybsze niż najwyżej ocenione.
DarkNeuron
3
To rozwiązanie jest fajne, ale npm list -g --depth=0 drukuje wersję, która jest ładna. W każdym razie nie wiedziałem o tym poleceniu, więc daje +1.
piksel 67
3
npm root -g | gciw Powershell na Windowsie
Lars
1
to nie działa w przypadku modułów @scoped
Franz Sittampalam
113

Na dzień 13 grudnia 2015 r

ilustracja listy npm

Chociaż uznałem zaakceptowaną odpowiedź w 100% za poprawną i przydatną, chciałem ją nieco rozwinąć w oparciu o własne doświadczenia i, mam nadzieję, również z korzyścią dla innych. (Tutaj używam zamiennie pakietu warunków i modułu)

W odpowiedzi na pytanie tak, zaakceptowana odpowiedź to:

npm list -g --depth=0

Możesz sprawdzić konkretny moduł zainstalowany globalnie w systemach * nix / gdy grep jest dostępny. Jest to szczególnie przydatne podczas sprawdzania, której wersji modułu używasz (zainstalowanej globalnie, po prostu usuń flagę -g, jeśli sprawdzasz moduł lokalny):

npm list -g --depth=0 | grep <module_name>

Jeśli chcesz zobaczyć wszystkie dostępne (zdalne) wersje dla określonego modułu, wykonaj następujące czynności:

npm view <module_name> versions

Uwaga: wersje są w liczbie mnogiej. To daje pełną listę wersji do wyboru.

Najnowsza wersja zdalna:

npm view <module_name> version  

Uwaga: wersja jest pojedyncza.

Aby dowiedzieć się, które pakiety wymagają aktualizacji, możesz użyć

npm outdated -g --depth=0

Aby zaktualizować pakiety globalne, możesz użyć

npm update -g <package>

Aby zaktualizować wszystkie pakiety globalne, możesz użyć:

npm update -g

(Jednak w przypadku wersji npm mniejszych niż 2.6.1 zobacz także ten link, ponieważ istnieje specjalny skrypt zalecany do globalnej aktualizacji wszystkich pakietów).

Powyższe polecenia powinny działać w wersjach NPM 1.3.x, 1.4.x, 2.x i 3.x

arcseldon
źródło
Aby zaktualizować konkretny pakiet globalny: npm update -g <package>. Uważam, że updatelepiej jest installtutaj, ponieważ npm będzie inteligentny i wykona instalację tylko wtedy, gdy określony pakiet jest nieaktualny.
Robin A. Meade
1
@Talespin_Kit prawdopodobnie screentogif
forresthopkinsa
@Talespin_Kit ShareX jest FANTASTYCZNY do tworzenia i udostępniania zrzutów ekranu gif (i wszelkich innych zrzutów ekranu).
Aaron Bell
38

Wolę narzędzia z przyjaznym GUI!

Użyłem, npm-guico daje listę lokalnych i globalnych pakietów

Pakiet znajduje się na https://www.npmjs.com/package/npm-gui i https://github.com/q-nick/npm-gui

//Once
npm install -g npm-gui

cd c:\your-prject-folder
npm-gui localhost:9000

W twojej przeglądarce http:\\localhost:9000

npm-gui

Alireza Fattahi
źródło
jak ładujesz dla globalnie zainstalowanych pakietów?
Ciasto piekarz
20

Do zależności projektu użyj:

npm list --depth=0

Do globalnych zależności użyj:

npm list -g --depth=0
Karthik damodara
źródło
17
npm ls

npm list jest tylko pseudonimem dla npm ls

Do rozszerzonego wykorzystania informacji

npm la    
npm ll

Zawsze możesz ustawić --depth=0na końcu, aby zagłębić się na pierwszym poziomie.

npm ls --depth=0

Możesz sprawdzić pakiety programistyczne i produkcyjne.

npm ls --only=dev
npm ls --only=prod

Aby wyświetlić informacje w jsonformacie

npm ls --json=true

Domyślnie jest to false

npm ls --json=false

Możesz nalegać na długi format, aby wyświetlić rozszerzone informacje.

npm ls --long=true

Zamiast widoku drzewa można wyświetlić analizowalne dane wyjściowe.

npm ls --parseable=true

Możesz wyświetlić listę pakietów w globalnym prefiksie instalacji zamiast w bieżącym projekcie.

npm ls --global=true
npm ls -g // shorthand

Pełna dokumentacja znajduje się tutaj .

prosti
źródło
8

Węzeł ma koncepcję modułów lokalnych i modułów globalnych

Lokalne moduły znajdują się w bieżącym katalogu projektu.

Moduły globalne zazwyczaj znajdują się w katalogu osobistym użytkownika, ale możemy zmienić ścieżkę, w której znajdują się moduły globalne.

  1. Wyświetla lokalne moduły w bieżącym katalogu: npm list
  2. Wyświetla listę modułów globalnych: npm list --globalLUB npm list --g // Wyświetli listę wszystkich modułów najwyższego poziomu wraz z ich zależnościami
  3. Wymień tylko globalne moduły najwyższego poziomu (zainstalowane moduły): npm list -g --depth=0
Piyush Sagar
źródło
7

Jednym ze sposobów może być znalezienie katalogu głównego modułów za pomocą:

npm root
/Users/me/repos/my_project/node_modules

A potem wypisz ten katalog ...

ls /Users/me/repos/my_project/node_modules
grunt                   grunt-contrib-jshint

Pakiety instalowane przez użytkownika w tym przypadku to chrząknięcie i chrobot-contrib-jshint

obimod
źródło
1
Dlaczego nie skorzystać z oficjalnej wbudowanej komendy npm? npm list -g --depth=0
Kukks
W ten sposób deweloper może zrozumieć, co się dzieje pod maską
obimod
1
To nie jest w 100% poprawne. Po uruchomieniu polecenia npm root mówi mi: Users/me/node_modules co nie jest poprawne. Mój node_modules mieszka gdzie indziej. Myślę, że to zależy od sposobu instalacji węzła. Używam brewdo instalowania oprogramowania. Zgaduję, że dzieje się tak, jeśli instalujesz węzeł z ich witryny za pomocą instalatora pakietów?
piksel 67
Myślę, że to zależy od twoich zmiennych środowiskowych. Sprawdź zmienne $ NPM ... ustawione w twoim środowisku. Mam niestandardową konfigurację, używając virtualenv i hook aktywacji, aby całkowicie przepisać $ PATH od zera, w zależności od tego, czego używa projekt.
obimod
2
Dla mnie mój npm zepsuł się, więc nie mogłem używać poleceń. Chciałem przeprowadzić pełną ponowną instalację, więc musiałem wiedzieć, które pakiety zainstalowałem globalnie, aby odbudować.
bryjohns
6

Aby wyświetlić listę wszystkich zainstalowanych pakietów.

$ npm ls --parseable | awk '{gsub(/\/.*\//,"",$1); print}'| sort -u

pokaż parseable listy pakietów npm https://docs.npmjs.com/cli/ls#parseable

rab
źródło
To jest świetne! Jak mogę po prostu pokazać zależności deweloperów?
Michael Bruce
5

Używam npm -g outdated --depth=0do wyświetlania nieaktualnych wersji
w globalnej przestrzeni.

piksel 67
źródło
3

Node_modules zawiera pakiety instalowane przez użytkownika, więc zmień katalog na node_modules i wyświetl listę elementów. Podstawowe moduły są zdefiniowane w źródle węzła w lib/folderze.

Example:

     example@example:~/:~/node_modules$ ls
     express  maxmind-native  node-whois  socket.io  ua-parser-js
     geoip    mongoskin       pdfkit      tail       zeromq
     maxmind  nodemailer      request     ua-parser  zmq
karthick
źródło
3

Możesz wypróbować menedżera pulpitu NPM Menedżer pulpitu NPM

Za pomocą jednego kliknięcia możesz zainstalować / odinstalować pakiety w devlub globalstatusie.

kant
źródło
2

Posługiwać się npm list i filtruj według zawiera użyciegrep

Przykład:

npm list -g | grep name-of-package
Darlan Dieterich
źródło
2

Krótko mówiąc, możesz uruchomić:

npm ls -g --depth=0
Mwiza
źródło