Risposte:
Utilizzare il list
comando con il -g
flag per visualizzare tutti i pacchetti 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 mostrato di seguito:
npm list -g grunt
Oppure puoi usare grep
per filtrare i nomi dei pacchetti:
npm list -g | grep grunt
npm list --depth 0 --global tern
verificare se la sterna fosse installata a livello globale come senpm install -g tern
grep
sembra una soluzione abbastanza affidabile visti i commenti sull'uscita di npm con un errore dovuto a dipendenze non soddisfatte
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 .
--depth 1
! questo è quello che stavo cercando. In realtà sto usando oranpm list --depth 0 -g
$?
ritorna sempre 1
per me, anche se il pacchetto è installato o NON installato.
Per verificare se un pacchetto specifico è installato a livello globale, eseguire:
npm list -g [package-name]
Prendiamo "grugnito" come esempio. Se è installato a livello globale, dovresti vedere qualcosa del genere
C:\data\tryout\test1>npm list -g grunt
C:\Users\xxxxxxx\AppData\Roaming\npm
└── grunt@0.4.5
Se non è installato a livello globale, dovresti vedere qualcosa del genere
C:\data\tryout\test1>npm list -g grunt
C:\Users\xxxxxxx\AppData\Roaming\npm
└── (empty)
Per verificare se un pacchetto specifico è installato localmente è possibile eseguire gli stessi comandi di cui sopra ma senza il parametro -g.
fonte: come verificare se il pacchetto npm è stato installato a livello globale o locale .
Dal tuo pacchetto con sindresorhus/is-installed-globally
https://github.com/sindresorhus/is-installed-globally
Uso:
const isInstalledGlobally = require('is-installed-globally');
// With `npm install your-package`
console.log(isInstalledGlobally);
//=> false
// With `npm install --global your-package`
console.log(isInstalledGlobally);
//=> true
L'ho trovato utile quando ho dovuto distribuire file predefiniti con il mio pacchetto: come pubblicare un pacchetto npm con file di distribuzione? Con questo pacchetto, posso verificare se l'installazione è locale o globale, quindi utilizzare i percorsi relativi per le installazioni locali, come mostrato qui .
--depth
. Ad esempio:npm list --depth 1 --global csats-mturk > /dev/null 2>&1
. Ecco un esempio più dettagliato .