Npm paketinin global olarak mı yoksa yerel olarak mı yüklendiğini nasıl anlarsınız?


154

Windows7'de homurdanma, düğüm, npm, bower ve grunt-cli kuruyorum.

Talimatlar, global için -g bayrağıyla install komutlarını çalıştırmam gerektiğini söylüyor.

Yüklediğimde -g bayrağını kullanıp kullanmadığımı nasıl kontrol edebilirim? Bunları kaldırmak ve yeniden yüklemek çok zaman alacaktır.

Yanıtlar:


220

Genel olarak yüklenen tüm paketleri görmek listiçin -gbayrağı içeren komutu kullanın :

npm list -g

Belirli bir paketin global olarak yüklenip yüklenmediğini kontrol etmek için, paketin adını ( gruntbu örnekte) aşağıda görüldüğü gibi sağlayabilirsiniz :

npm list -g grunt

Veya greppaket adlarına filtre uygulamak için kullanabilirsiniz :

npm list -g | grep grunt

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


4
Bir boole için "yüklü mü değil mi?" kontrol edin, kullanmayı deneyin --depth. Örneğin: npm list --depth 1 --global csats-mturk > /dev/null 2>&1. İşte daha ayrıntılı bir örnek .
Adam Monsen

2
@AdamMonsen, en üst düzey sumru montajı arıyordum . Ben npm list --depth 0 --global ternsumru global olarak npm install -g tern
kurulup

grepkarşılanmayan bağımlılıklar nedeniyle bir hata ile çıkan npm hakkındaki yorumlar göz önüne alındığında oldukça güvenilir bir çözüm gibi görünüyor
myol

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

Ardından, yüklü olup olmadığını görmek için çıkış durumunu kontrol edebilirsiniz. Teşekkürler Adam Monsen .


3
için teşekkürler --depth 1! Aradığım şey buydu. Aslında şu an kullanıyorumnpm list --depth 0 -g
16:13

Nedense , paket kurulu veya kurulu DEĞİL olsa bile, $?her zaman 1benim için geri döner .
Katie

4
UYARI: Paket kurulu olsa bile paketlerinizde karşılanmamış bağımlılıklar varsa npm her zaman bir hata ile çıkar . @Kayvar bu yüzden npm sizin için 1 döndürüyor.
Kodlama

17

Belirli bir paketin genel olarak yüklenip yüklenmediğini kontrol etmek için şunları yürütün:

npm list -g [package-name]

Örnek olarak "homurdanmayı" ele alalım. Global olarak kuruluysa, böyle bir şey görmelisiniz

C:\data\tryout\test1>npm list -g grunt
C:\Users\xxxxxxx\AppData\Roaming\npm
└── grunt@0.4.5

Global olarak kurulmamışsa, böyle bir şey görmelisiniz

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

Belirli bir paketin yerel olarak yüklenip yüklenmediğini kontrol etmek için yukarıdaki komutların aynısını -g parametresi olmadan da yürütebilirsiniz.

source: npm paketinin genel olarak mı yoksa yerel olarak mı yüklendiğini kontrol etme .


6

Tüm global paketleri şu komutla listeleyebilirsiniz:

npm ls -g

Veya aşağıdakileri içeren belirli bir paketi kontrol edin:

npm ls -g [package-name] 

Örneğin: npm ls -g @angular/cli


1

Windows'ta paketin kurulu olup olmadığını öğrenmek için aşağıdaki komutu kullanırız. Ayrıntılar için lütfen resme bakın.

npm list -g | find "create"

örnek sonuç


0

İle paketinizden sindresorhus/is-installed-globally

https://github.com/sindresorhus/is-installed-globally

Kullanımı:

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

Paketimle önceden oluşturulmuş dosyaları dağıtmak zorunda kaldığımda bunu yararlı buldum: Dağıtım dosyalarıyla npm paketi nasıl yayınlanır? Bu paketle, yüklemenin yerel mi yoksa genel mi olduğunu kontrol edebilirim ve ardından burada gösterildiği gibi yerel kurulumlar için göreli yollar kullanabilirim .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.