2014-09-29 1 views

Antwort

104

Verwenden Sie den list Befehl mit der -g Flagge um alle Pakete zu sehen, die weltweit installiert sind:

npm list -g

Um zu überprüfen, ob ein bestimmtes Paket global installiert ist, können Sie den Namen des Pakets zur Verfügung stellen können (grunt in dieser Fall), wie unten gesehen:

npm list -g grunt

Oder Sie grep verwenden können, zu filtern, o n Paketnamen:

npm list -g | grep grunt

Quelle: https://docs.npmjs.com/cli/ls

+2

Für eine boolean „installiert ist oder nicht " Überprüfen Sie, versuchen Sie es mit '--depth'. Zum Beispiel: 'npm list --depth 1 --global csats-mturk>/dev/null 2> & 1'. [Hier ein ausführlicheres Beispiel] (https://gitlab.com/snippets/3883). –

+0

@AdamMonsen: Danke, ich habe deinen Kommentar in eine Antwort umgewandelt. – Flimm

+1

@AdamMonsen, ich war auf der Suche nach _top level_ Installation von tern. Ich habe 'npm list --depth 0 --global tern' benutzt, um zu überprüfen, ob tern global installiert wurde, als ob 'npm install -g tern ' – Sudhi

11

Um zu überprüfen, ob ein bestimmtes Paket installiert ist global ausführen:

npm list -g [package-name] 

Lassen Sie uns "grunzen" als Beispiel nehmen. Wenn es global installiert ist, sollten Sie so etwas wie diese

C:\data\tryout\test1>npm list -g grunt 
C:\Users\xxxxxxx\AppData\Roaming\npm 
└── [email protected] 

sehen, ob es nicht global installiert ist, können Sie so etwas wie diese

C:\data\tryout\test1>npm list -g grunt 
C:\Users\xxxxxxx\AppData\Roaming\npm 
└── (empty) 

Um zu überprüfen, ob ein bestimmtes Paket lokal installierten wird sehen sollen kann dieselben Befehle wie oben ausführen, aber ohne den Parameter -g.

Quelle: How to check if npm package was installed globally or locally.

23
npm list --depth 1 --global packagename > /dev/null 2>&1 

Sie können dann den Exit-Status überprüfen, um zu sehen, ob er installiert ist oder nicht. Danke Adam Monsen.

+3

danke für' --depth 1'! das ist, was ich gesucht habe.Eigentlich verwende ich jetzt 'npm list --depth 0 -g' – revelt

+0

Aus irgendeinem Grund gibt '$?' Immer '1' für mich zurück, auch wenn das Paket installiert oder NICHT installiert ist. – Kayvar

+0

Ich habe ein Problem dafür gemacht: https://github.com/mikedeboer/node-github/issues/427 – Kayvar

0

Sie können alle globalen Pakete mit dem Befehl list:

npm ls -g 

Oder schauen Sie für ein bestimmtes Paket mit:

npm ls -g [package-name] 

Zum Beispiel: npm ls -g @angular/cli