Js düğümünde npm modülleri nasıl kaldırılır?


1130

Bilindiği gibi herhangi npm modülü basit bir komutu çalıştırarak yüklenebilir: npm install <module_name>.

Artık kullanmadığım birkaç modül yükledim ve sadece onları çıkarmak istiyorum. Bununla ilgili birkaç sorum var:

  • Bir modülü kökten (benzeri bir şey npm uninstall <module_name>) kaldırmak için herhangi bir komut veya işlem var mı veya sadece modül dosyalarını kaldırmak mı?

  • Kullanılmayan modülleri tutarsak bizi nasıl etkiler?


2
Tüm npm modüllerini kaldırmak istiyorsanız, buraya gidin: stackoverflow.com/questions/9283472/…
daniel

Yanıtlar:


1728

Komut basitçe npm uninstall <name>

Https://npmjs.org/doc/ Node.js belgelerinde npm ile bilmeniz gereken tüm komutlar bulunur.

node_modules/Uygulamanızın dizininde yerel bir yükleme olacaktır . Bir modül orada referans göstermeden kalırsa, bu durum uygulamayı etkilemez.

Ancak, global bir paketi kaldırıyorsanız, ona referans veren uygulamalar çökecektir.

İşte farklı seçenekler:

npm uninstall <name>modülü kaldırır node_modulesancak güncellemezpackage.json

npm uninstall <name> --saveAyrıca kaldırır dependenciesiçindepackage.json

npm uninstall <name> --save-devAyrıca kaldırır devDependenciesiçindepackage.json

npm uninstall -g <name> --save aynı zamanda küresel olarak da ortadan kaldırır


19
npm -g ls | grep -v 'npm@' | awk '/@/ {print $2}' | awk -F@ '{print $1}' | xargs npm -g rmgobally kurulu tüm modülü kaldırmak için bunu deneyin . Windows'taysanız, çalıştırmak için Cygwin veya git'i yüklemeniz gerekir
Nur Rony

198
Birkaç ipucu: npm uninstall <name>modülü node_modules öğesinden kaldırır, ancak package.json öğesinden kaldırır. Do npm uninstall <name> --saveayrıca package.json konusu bağımlılığı silin. npm -g uninstall <name> --saveBağımlılığı global olarak silmek için yapın .
Raine Revere

1
Tüm global modülleri kaldırmak için: stackoverflow.com/questions/5926672/… Ve node_modules klasörünü sil Tüm yerel modülleri kaldırmak için yerel node_modules klasörünü silin
DanteTheSmith

1
Yukarıda listelenen tüm komutları kullanarak cypress@3.1.4'ü kaldırmaya çalıştım ve hala orada
Steve Staple

20
npm uninstall <name> now removes the module from both package.json` venode_modules
philip oghenerobo balogun

86

Eğer işe yaramazsa npm uninstall <module_name>, yazarak global olarak deneyin -g.

Belki de bunu bir süper kullanıcı / yönetici olarak yapmanız gerekir sudo npm uninstall <module_name>.


4
-gvarsa yararlı olur npm WARN uninstall.
Lorem Ipsum Dolor

49

Bu soruya tam bir cevap vermek için iki yöntem var : (örneğin kurulu modülü modül1 olarak adlandırıyoruz)

  1. Module1'i kaldırmak için olmadan package.json değişen:

    npm uninstall module1

  2. Module1'i kaldırmak için birlikte package.json değiştirme ve package.json içinde bağımlılıkları çıkarmadan:

    npm uninstall --save module1

Not: kullanabilir, belirtilen komutlar yukarıda basitleştirmek için -S yerine --save ve kullanabilir kaldırmayı , rm , r , un , bağlantısını kaldırmak yerine kaldırma


Bütünlük uğruna, GLOBAL veya LOCAL bağımlılığını kaldırmak istiyorsa dikkatli olunmalıdır. Globaller için yukarıdaki ile -g kullanın! Ayrıca: Tüm global modülleri kaldırmak için: stackoverflow.com/questions/5926672/… Ve node_modules klasörünü sil Tüm yerel modülleri kaldırmak için yerel node_modules klasörünü silin
DanteTheSmith

28

Sadece yüklemek kalemi sadece kullanmak, böylece benim ev dir altında varsayılan olaraknpm uninstall stylus bunu ayırmak için veya deneyebilirsiniz npm rm <package_name>dışarı.


17

Düğüm modülünü kaldırmak için:

npm uninstall <module_name>  

Bu, modülü node_modules öğesinden kaldırır, ancak package.json öğesinden kaldırmaz. Bu yüzden npm install tekrar yaptığımızda modülü indirecektir.

Yani modülü package.json'dan kaldırmak için:

npm uninstall <module_name> --save  

Bu aynı zamanda package.json bağımlılığını da siler.

Ve herhangi bir global modülü kaldırmak istiyorsanız şunları kullanabilirsiniz:

npm -g uninstall <module_name> --save 

Bu, bağımlılığı global olarak silecektir.


@WernerHenze O zaman 2016 cevabını verdiğimde bazı küresel kaldırma modülü eksikti!
Vishnu Mishra

7

Paketleri node_modules/toplu olarak kaldırmak için paketten kaldırabilir package.json, kaydedebilir ve daha sonra npm pruneterminalde çalıştırabilirsiniz .

Bu, dosya sisteminde bulunan ancak kullanılmayan / bildirilmeyen paketleri kaldıracaktır package.json.

Not> Bu, özellikle "yol uzunluğu sınırı aşıldı" nedeniyle bazı dosyaları silememe sorunlarıyla karşılaşabileceğiniz için özellikle Windows'ta kullanışlıdır.


6

Açıkça görünse bile bunu zor yoldan öğrendim .

Başlangıçta npm uninstall module-namebir komut dosyasında döngü için basit bir ile çalışan node_modules dizin üzerinden döngü çalıştı . Tam yolu çağırırsanız işe yaramayacağını öğrendim, örn.

npm uninstall module-name

çalışıyordu ama

npm uninstall /full/path/to/node_modules/module-name 

çalışmıyordu.


5

Aşağıdakileri steno olarak da çalıştırabilirsiniz:

npm un packageName veya npm rm packageName

Not: Genel -gpaketleri kaldırmak için komutun sonuna ekleyin .


4

Bazen npm uninstall -g packageNameişe yaramaz.

Bu durumda paketi manuel olarak silebilirsiniz.

Mac'te klasöre gidin /usr/local/lib/node_modulesve istediğiniz paketi içeren klasörü silin. Bu kadar. Global olarak kurulan paketler listenizi bu komutla kontrol edinnpm list -g --depth=0


Sadece merak ediyorum, neden bazı durumlarda "npm uninstall -g packageName" çalışmıyor?
Mwiza

çünkü büyük bir hata kodu ... her işletim sistemi sürümüne uyum sağlamak gerçekten zor. Sanırım nedeni bu
Nastro

3

Windows Kullanıcıları için - Bir kerede kurulu olan tüm düğüm modüllerini kaldırmak istiyorsanız:

  • Açık powershell
  • Node_modules klasörünün içine girin (cd node_modules)
  • Bu komutu çalıştırın - "npm uninstall (Get-ChildItem) .Name"

Tüm modülleri kaldıracaktır.


3

Güncelleme npm 5:

İtibariyle npm 5.0.0 --save seçeneği artık ihtiyaç böylece, yüklü / kaldırılan modül eklendi / varsayılan olarak bir bağımlılık olarak kaldırılır.

Çalıştırmak

npm uninstall <package>

Örneğin:

npm uninstall mongodb

Modülü node_modules klasöründen ve package.json dosyasından da kaldıracak


1
Doğru; eski varsayılan davranışı istiyorsanız (package.json'a dokunmadan), --no-save bayrağını kullanın docs.npmjs.com/cli/install
Marcus

2

Yükleme uninstallsırasında kullandığım komutla aynı komutu kullanmaya çalıştığımda seçenek benim için işe yaramadı ( @latestyönergeyle birlikte yüklediğim gibi )

Yani, örneğin, böyle bir paket yükledim:

npm install  @ngtools/webpack@latest

Ve sonra kaldırmak istedim, böylece aynı komutu kullandım (@latest dahil)

npm uninstall  @ngtools/webpack@latest

Bu yüzden yukarıdaki kaldırma işe yaramadı, kaldırmak zorundayım @latestve sonra iyi çalıştı

npm uninstall  @ngtools/webpack

Umarım bu yardımcı olur


1
# login as root (might be required depending on install)
su - 
# list all global packages
npm ls -g --depth=0
# list all local (project) packages
npm ls -p --depth=0
# remove all global packages
npm ls -g --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
# remove all local packges
npm ls -p --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -p rm

# NOTE (optional): to use node with sudo you can add the bins to /usr/bin
# NOTE $PATHTONODEINSTALL is where node is installed (e.g. /usr/local/node)
sudo ln -s $PATHTONODEINSTALL/bin/node /usr/bin/node
sudo ln -s $PATHTONODEINSTALL/bin/npm /usr/bin/npm

1

En basit çözüm:

npm uninstall packageName --save-dev

Projenizdeki üst düzey paket adlarına bakın:

npm list --depth=0

Çıktı aşağıdaki gibi olacaktır:

app@0.1.0 /home/jackkobec/projects/myAppName
├── packageName@packageVersion
├── express@4.16.4

Paket adını kopyalayın ve npm kaldırma komutunu yürütün. Ekspres paket için örnek:

npm uninstall express --save-dev

1

Npm kullanarak bir modülü kaldırmak için şunları kullanabilirsiniz:

npm uninstall moduleName

Ayrıca, kaldırmak ve değişikliğin paketinize yansıtılmasını istiyorsanız --save bayrağını şu şekilde kullanabilirsiniz:

npm uninstall moduleName --save
OR
npm uninstall -S

Ve bir modülü devDependencies'ten kaldırmak ve değişikliğin package.json dosyasına yansıtılmasını istiyorsanız -D bayrağını şu şekilde kullanabilirsiniz:

npm uninstall moduleName -D

1

Düğüm modülünü kaldırmak için:

npm uninstall <module_name>  

Bu, modülü node_modules öğesinden kaldırır, ancak package.json öğesinden kaldırmaz.

Bu komutu kullanarak modülü package.json kullanımından kaldırın:

npm uninstall <module_name> --save 

Bu ayrıca package.json dosyasından da silin.


0

Ayrıca, aşağıdakileri yarnyerine kullanmaya başladıysanız npm:
yarn remove <package-name>

Şuna eşdeğerdir:
npm uninstall <package-name> --save

Bu olacak
- dan paketi kaldırmak package.jsonsıra sıra,
- bunun kaldırma projenizin gelen node-modulesklasörün


0

kullanım

npm uninstall <package_name>

Express'i kaldırma örneği

npm uninstall express

0

Windows kullanıyorsanız CMD'yi yönetici olarak çalıştırın ve yazın npm -g uninstall <package name>.


-2

Bir dizi modülü kaldırmak istiyorsanız sadece çalıştırın npm uninstall. Sonra package.jsonistenmeyen modüle gidin ve oradan silin ve sadece komutu çalıştırın npm install. Sorununuzu düzeltmelidir.

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.