Wie liste ich npm vom Benutzer installierte Pakete auf?


629

Wie liste ich das vom Benutzer installierte Paket NUR in auf npm? Wenn ich es tue npm -g list, gibt es jedes Paket und seine Abhängigkeiten aus, was nicht das ist, was ich will.

Antworten:


1246

Das funktioniert auch ganz gut: npm list -g --depth=0

  • npm : Das Befehlszeilentool des Node Package Managers
  • list -g : Zeigt einen Baum aller Pakete an, die in den Ordnern des Benutzers gefunden wurden (ohne die Option -g werden nur die Pakete des aktuellen Verzeichnisses angezeigt).
  • Tiefe 0 / - Tiefe = 0 : Vermeiden Sie es, die Abhängigkeiten jedes Pakets in die Baumansicht aufzunehmen

Leeres Ergebnis zurückgeben. Meine npm-Version ist 3.6.0.
Bagusflyer

4
Warum wird die --depth=0Option beim Ausführen nicht erwähnt npm help ls?
Marecky

Wenn Sie Ihre Module in einem anderen Ordner mit installieren --prefix, müssen Sie --prefixdiese ebenfalls in diesen npm listBefehl einfügen.
Sany Liew

1
Es könnte auch gut sein, hinzuzufügen | grep -v "duped", um doppelte Abhängigkeiten auf der Liste zu entfernen
Spencer Pollock

1
funktionierte perfekt an Fenstern.
Sunny Prakash

132

Sie können eine Liste aller global installierten Module abrufen, indem Sie:

ls `npm root -g`


13
ls -lh `npm root -g`zeigt sie in einer schönen Liste an.
LanceLafontaine

3
Diese Lösung ist viel schneller als die am besten gewählte.
DarkNeuron

3
Diese Lösung ist nett, npm list -g --depth=0 druckt aber die Version aus, die nett ist. Jedenfalls wusste ich nichts über diesen Befehl, also +1 dafür.
Pixel 67

3
npm root -g | gciin Powershell auf Fenstern
Lars

1
Dies funktioniert nicht für @ Scoped Module
Franz Sittampalam

113

Stand: 13. Dezember 2015

npm Liste Abbildung

Obwohl ich die akzeptierte Antwort zu 100% richtig und nützlich fand, wollte ich sie aufgrund meiner eigenen Erfahrungen und hoffentlich auch zum Nutzen anderer ein wenig erweitern. (Hier verwende ich die Begriffe Paket und Modul austauschbar)

Bei der Beantwortung der Frage lautet die akzeptierte Antwort:

npm list -g --depth=0

Möglicherweise möchten Sie nach einem bestimmten Modul suchen, das global auf * nix-Systemen installiert ist / wenn grep verfügbar ist. Dies ist besonders nützlich, wenn Sie überprüfen, welche Version eines Moduls Sie verwenden (global installiert, entfernen Sie einfach das Flag -g, wenn Sie ein lokales Modul überprüfen):

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

Wenn Sie alle verfügbaren (Remote-) Versionen für ein bestimmtes Modul anzeigen möchten, gehen Sie wie folgt vor:

npm view <module_name> versions

Beachten Sie, dass die Versionen Plural sind. Dadurch erhalten Sie eine vollständige Liste der Versionen, aus denen Sie auswählen können.

Für die neueste Remote-Version:

npm view <module_name> version  

Beachten Sie, dass die Version singulär ist.

Um herauszufinden, welche Pakete aktualisiert werden müssen, können Sie verwenden

npm outdated -g --depth=0

Zum Aktualisieren globaler Pakete können Sie verwenden

npm update -g <package>

Um alle globalen Pakete zu aktualisieren, können Sie Folgendes verwenden:

npm update -g

(Für npm-Versionen unter 2.6.1 finden Sie jedoch auch diesen Link, da ein spezielles Skript zum globalen Aktualisieren aller Pakete empfohlen wird.)

Die obigen Befehle sollten in allen NPM-Versionen 1.3.x, 1.4.x, 2.x und 3.x funktionieren


So aktualisieren Sie ein bestimmtes globales Paket : npm update -g <package>. Ich glaube, dies updateist hier vorzuziehen, installda npm intelligent ist und die Installation nur durchführt, wenn das angegebene Paket veraltet ist.
Robin A. Meade

1
@ Talespin_Kit wahrscheinlich screentogif
forresthopkinsa

@Talespin_Kit ShareX ist FANTASTISCH zum Erstellen und Freigeben von GIF-Screenshots (und anderen Screenshots).
Aaron Bell


20

Verwenden Sie für Projektabhängigkeiten:

npm list --depth=0

Für globale Abhängigkeiten verwenden Sie:

npm list -g --depth=0

17
npm ls

npm list ist nur ein Alias ​​für npm ls

Für die erweiterte Info verwenden

npm la    
npm ll

Sie können immer --depth=0am Ende setzen, um das erste Level tief zu bekommen.

npm ls --depth=0

Sie können Entwicklungs- und Produktionspakete überprüfen.

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

Anzeigen der Informationen im jsonFormat

npm ls --json=true

Der Standardwert ist false

npm ls --json=false

Sie können auf einem Langformat bestehen, um erweiterte Informationen anzuzeigen.

npm ls --long=true

Sie können die analysierbare Ausgabe anstelle der Baumansicht anzeigen.

npm ls --parseable=true

Sie können Pakete im globalen Installationspräfix anstatt im aktuellen Projekt auflisten.

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

Die vollständige Dokumentation finden Sie hier .


8

Node hat ein Konzept von lokalen Modulen und globalen Modulen

Lokale Module befinden sich im aktuellen Projektverzeichnis.

Globale Module befinden sich im Allgemeinen im Home-Verzeichnis des Benutzers. Wir können jedoch den Pfad ändern, in dem sich globale Module befinden.

  1. Listet lokale Module im aktuellen Verzeichnis auf: npm list
  2. Listet globale Module auf: npm list --globalODER npm list --g // Es werden alle Module der obersten Ebene mit ihren Abhängigkeiten aufgelistet
  3. Nur globale Module der obersten Ebene (installierte Module) auflisten: npm list -g --depth=0

7

Eine Möglichkeit besteht darin, das Stammverzeichnis der Module mithilfe von:

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

Und dann das Verzeichnis auflisten ...

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

Die vom Benutzer installierten Pakete sind in diesem Fall grunt und grunt-contrib-jshint


1
Warum nicht den offiziellen integrierten npm-Befehl verwenden? npm list -g --depth=0
Kukks

Auf diese Weise kann der Entwickler
besser

1
Dies ist nicht 100% richtig. Wenn ich den Befehl ausführe npm root , wird mir gesagt: Users/me/node_modules Was nicht korrekt ist. Meine node_modules leben woanders. Ich denke, es hängt davon ab, wie Sie den Knoten installieren. Ich brewinstalliere meine Software. Ich vermute, dies ist, wenn Sie Knoten von ihrer Website mit ihrem Paket-Installationsprogramm installieren?
Pixel 67

Ich denke, es hängt von Ihren Umgebungsvariablen ab. Schauen Sie sich die $ NPM ... -Vars an, die in Ihrem Umfeld festgelegt sind. Ich habe ein benutzerdefiniertes Setup, das virtualenv und den Aktivierungs-Hook verwendet, um $ PATH je nach Verwendung des Projekts von Grund auf neu zu schreiben.
Obimod

2
Für mich war meine npm kaputt, so dass ich die Befehle nicht verwenden konnte. Ich wollte eine vollständige Neuinstallation durchführen, daher musste ich wissen, welche Pakete ich global installiert hatte, um sie neu zu erstellen.
Bryjohns


5

Ich verwende, npm -g outdated --depth=0um veraltete Versionen
im globalen Raum aufzulisten.


3

Node_modules enthält vom Benutzer installierte Pakete. Ändern Sie daher das Verzeichnis in node_modules und listen Sie die Elemente auf. Kernmodule werden in der Quelle des Knotens im lib/Ordner definiert.

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

3

Sie können NPM Desktop Manager ausprobieren NPM Desktop Manager

Mit nur einem Klick können Sie Pakete in devoder globalStatus installieren / deinstallieren .


2

Verwenden npm listund filtern nach enthält mitgrep

Beispiel:

npm list -g | grep name-of-package

2

Als Kurzform können Sie Folgendes ausführen:

npm ls -g --depth=0

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.