2014-09-29 12 views

risposta

104

utilizzare il comando list con la bandiera -g per vedere tutti i pacchetti che sono installati a livello globale:

npm list -g

Per verificare se un pacchetto specifico è installato a livello globale, è possibile fornire il nome del pacchetto (grunt in questo caso) come si vede qui sotto:

npm list -g grunt

Oppure è possibile utilizzare per filtrare o grep nomi dei pacchetti n:

npm list -g | grep grunt

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

+2

Per un valore booleano "installato o non ?" controlla, prova a usare '--depth'. Ad esempio: 'npm list --depth 1 --global csats-mturk>/dev/null 2> & 1'. [Ecco un esempio più dettagliato] (https://gitlab.com/snippets/3883). –

+0

@AdamMonsen: Grazie, ho trasformato il tuo commento in una risposta. – Flimm

+1

@AdamMonsen, stavo cercando _top level_ installation of tern. Ho usato 'npm list --depth 0 --global tern' per verificare se la terna fosse installata globalmente come se' npm install -g tern' – Sudhi

11

Per verificare se un pacchetto specifico è installata a livello globale eseguire:

npm list -g [package-name] 

Prendiamo "grugnito" come esempio. Se è installato a livello globale, si dovrebbe vedere qualcosa di simile

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

Se non è installato a livello globale, si dovrebbe vedere qualcosa di simile

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

Per verificare se un pacchetto specifico è installato localmente voi può eseguire gli stessi comandi come sopra ma senza il parametro -g.

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

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

È quindi possibile controllare lo stato di uscita per vedere se è installato o meno. Grazie Adam Monsen.

+3

grazie per '--depth 1'! questo è quello che stavo cercando.Attualmente sto usando 'npm list --depth 0 -g' – revelt

+0

Per qualche ragione' $? 'Restituisce sempre' 1' per me, anche se il pacchetto è installato o NON installato. – Kayvar

+0

Ho riscontrato un problema a questo proposito: https://github.com/mikedeboer/node-github/issues/427 – Kayvar

0

Si possono elencare tutti i pacchetti globali con il comando:

npm ls -g 

O controllare per un pacchetto specifico con:

npm ls -g [package-name] 

Ad esempio: npm ls -g @angular/cli

Problemi correlati