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ę.

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

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`


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


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


20

Do zależności projektu użyj:

npm list --depth=0

Do globalnych zależności użyj:

npm list -g --depth=0

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 .


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

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


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


5

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


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


2

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

Przykład:

npm list -g | grep name-of-package

2

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

npm ls -g --depth=0

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.