2013-11-20 16 views
16

Bütün benim devDependencies ile package.json var.Neden npm prune`ları node_modules klasörlerini kaldırmıyor?

Benim anlayış bir bağımlılık kaldırmak ve npm prune çalıştırırsanız, düğüm node_modules gelen modül klasörü kaldıracaktır olmasıydı. Bu benim node_modules klasörü korumak için en kolay yol gibi görünüyor. docs itibaren

:

npm kuru erik

Bu komut "yabancı" paketleri kaldırır gereksiz paketleri

çıkarın.

olmayan fazladan paketleri ebeveyn paketin bağımlılıkları listesinde yer almayan paketlerdir.

Ancak, bazen hatta npm prune çalıştırdıktan sonra hala benim node_modules modül klasör var.

Bunun nedeni nedir ve kullanılmayan modülleri kaldırmak için doğru yolu nedir?

+1

bir 'npm listesi'ni yapın. Söz konusu klasör geçici bir bağımlılık mı (bağımlılığın bağımlılığı)? –

cevap

9

--production bayrak belirtildi documentation

Eğer göre bu komutu devDependencies belirtilen paketleri kaldıracaktır. Eğer devDependencies belirtilen node_modules modül klasörünün kurtulmak istiyorsanız

Yani, çalıştırdıktan sonra

npm prune --production

+1

DevDependencies'imde belirtilmeyen klasörleri kaldırmak istiyorum. Bu senin önerdiğin şeyden farklı. Node_modules klasörümün daha önce kullanılan ek modüllere değil, yalnızca bağımlılıklarıma yazılanları eklemesini istiyorum. – elanh

+0

"devDependencies'imde belirtilmemiş" derken, normal bağımlılıklarda belirtildiklerini mi yoksa package.json'da bulunmadıklarını mı söylüyorsunuz? –

+2

Yani paketinde değiller. Bu durumda – elanh

5

yürütür:

npm ls 

Görüyorum:

0 Ben ne zaman
npm ERR! extraneous: [email protected] /path/to/package 

Ardından:

npm prune 

paket kaldırıldı.

İlgili konular