Apakah ada perintah untuk menghapus semua modul npm global? Jika tidak, apa yang Anda sarankan?
381
Perintah berikut menghapus semua modul npm global. Catatan: ini tidak berfungsi di Windows. Untuk versi Windows yang berfungsi, lihat Ollie Bennett's Answer .
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
Inilah cara kerjanya:
npm ls -gp --depth=0
daftar semua modul tingkat global (lihat dokumentasi CLI untuk ls )awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'
mencetak semua modul yang sebenarnya bukan npm itu sendiri (tidak berakhir dengan /npm
)xargs npm -g rm
menghapus semua modul secara global yang melewati pipa sebelumnya
awk -F' |@' '/@/ {if ($(NF-1) != "npm") {print $(NF-1)}}'
Penjelasan: pisah pada spasi atau @, hanya baris yang cocok dengan @, nama modul akan menjadi pertandingan kedua terakhir ($(NF-1)
), jadi hanya cetak jika tidaknpm
Bagi mereka yang menggunakan Windows , cara termudah untuk menghapus semua paket npm yang terinstal secara global adalah dengan menghapus konten dari:
C:\Users\username\AppData\Roaming\npm
Anda dapat sampai di sana dengan cepat dengan mengetikkan
%appdata%/npm
explorer, menjalankan prompt, atau dari menu mulai.sumber
%USERPROFILE%\AppData\npm
tanparoaming
.npm install
lagi. Saya harus menghapuspackage-lock.json
file saya juga.Saya mencoba solusi Kai Sternad tetapi tampaknya tidak sempurna bagi saya. Ada banyak simbol khusus yang tersisa setelah yang terakhir
awk
dari pohon deps itu sendiri.Jadi, saya datang dengan modifikasi saya sendiri dari solusi Kai Sternad (dengan sedikit bantuan dari ide cashmere ):
npm ls -gp --depth=0
daftar semua modul npm yang terinstal secara global dalam format yang dapat diuraikan :awk -F/node_modules/ '{print $2}'
mengekstrak nama modul dari jalur, membentuk daftar semua modul yang diinstal secara global.grep -vE '^(npm|)$'
menghapus npm sendiri dan baris kosong.xargs -r npm -g rm
panggilannpm -g rm
untuk setiap modul dalam daftar.Seperti solusi Kai Sternad , itu hanya akan bekerja di bawah * nix.
sumber
npm
instal semua modul globalnya ke direktori yang sama. Lokasi yang tepat mungkin berbeda, tetapi biasanya itu/usr/local/lib/node_modules
.npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm)$' | xargs npm -g rm
@angular/cli
). Saya menambahkan korek api lain untukawk
dan perintah kerja untuk saya terlihat seperti ini:npm ls -gp --depth=0 | awk -F/ '/node_modules\/@/ {print $(NF-1)"/"$NF} /node_modules\/[^@]/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
bekerja untukku
sudo npm list -g --depth=0.
daftar semua level atas diinstalawk -F ' ' '{print $2}'
menghilangkan ├──awk -F '@' '{print $1}'
mendapat bagian sebelum '@'sudo xargs npm remove -g
menghapus paket secara globalsumber
npm remove UNMET
halnya NOOP.grep -v npm
sehingga npm itu sendiri tidak dihapus:sudo npm list -g --depth=0. | grep -v npm | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
Bagi mereka yang menggunakan Powershell :
Untuk menghapus cache:
sumber
Cukup pindah ke
%appdata%/npm
direktori Anda dan jalankan yang berikut ...EDIT: Perintah ini rusak dengan npm 3.3.6 (Node 5.0). Saya sekarang menggunakan perintah Bash berikut, yang telah saya petakan ke npm_uninstall_all di file .bashrc saya:
Bonus tambahan? itu jauh lebih cepat!
https://github.com/npm/npm/issues/10187
Bagaimana Anda menghapus semua dependensi yang tercantum dalam package.json (NPM)?
sumber
npm
dann
sebelumtr
di windows buka direktori "C: \ Users {username} \ AppData \ Roaming" dan hapus folder npm secara manual
sumber
Jika Anda ingin menghapus semua paket yang telah Anda instal, Anda dapat menggunakan
npm -g ls
perintah untuk menemukannya, dan kemudiannpm -g rm
menghapusnya.sumber
Jika Anda telah menginstal jq , Anda dapat pergi bahkan tanpa grep / awk / sed:
Di Debian dan turunan Anda dapat menginstal jq dengan:
sumber
json
gaya apropos .npm ls -g --json --depth=0 | jq -r '.dependencies|keys-["npm"]|join("\n")' | xargs sudo npm rm -g
OS tidak ditentukan oleh OP. Untuk Windows , skrip ini dapat digunakan untuk menyembunyikan modul dan cache global lokal dan pengguna.
Saya perhatikan di linux bahwa root global benar-benar global ke sistem daripada pengguna yang diberikan. Jadi menghapus root global mungkin bukan ide yang baik untuk sistem bersama. Selain itu, saya dapat port script untuk bash jika tertarik
Untuk Windows , simpan ke file cmd untuk dijalankan.
sumber
Gunakan kode ini untuk menghapus instalasi paket apa pun:
sumber
Semua yang Anda lakukan dengan baik. Ini adalah saran gabungan untuk satu kode baris.
Apa perbedaannya? Penghapusan instalasi akan dilakukan dalam satu perintah seperti:
npm rm -g *** *** ***
sumber
Anda dapat menemukan semua paket npm yang terinstal di lokasi:
dan hapus konten npm yang ingin Anda hapus.
Jika AppData tidak ditampilkan, itu berarti tersembunyi dan Anda dapat pergi ke Lihat di file explorer dan memeriksa item Tersembunyi maka di sana Anda dapat melihat semua folder yang tersembunyi.
sumber
Nah jika Anda berada di windows, dan ingin menghapus / uninstall semua node_modules maka Anda perlu melakukan langkah-langkah berikut.
Ketik perintah di bawah ini dan berikan selama 1-2 menit itu akan menghapus semua direktori di dalam node_module
Semoga ini bisa membantu seseorang di windows
sumber
jika Anda memiliki Intellij Webstorm Anda dapat menggunakan manajer paket grafis bawaannya.
buka sebagai root dan buat proyek emtpy. pergi ke
di sana Anda akan melihat semua paket yang diinstal. Menghapus instalan mudah, Anda dapat memilih dan membatalkan paket yang ingin Anda hapus, Ctrl + a wok juga.
sumber
Untuk
yarn global
Atau, jika Anda tidak peduli dengan apa yang sebenarnya ada di dalam
package.json
Ini juga harus berlaku untuk NPM, tetapi saya tidak yakin di mana NPM global disimpan.
sumber
sumber
Karena ini adalah jawaban teratas dalam pencarian, saya memposting ini di sini karena itu adalah solusi yang saya gunakan di masa lalu untuk membersihkan komputer yang mengganti laptop.
sumber: https://winsmarts.com/delete-all-node-modules-folders-recursively-on-windows-edcc9a9c079e
sumber
Berikut adalah solusi yang lebih elegan yang saya coba di mana saya membiarkan npm melakukan semua pekerjaan untuk saya.
Kemudian jika Anda melakukannya
npm uninstall
ataunpm remove
modul-modul ini akan diperlakukan seolah-olah mereka adalah dependensi normal suatu proyek. Itu bahkan menghasilkan file package-lock.json ketika sudah selesai:sumber
solusi sed
sumber
Masukkan saja konsol Anda:
sudo npm list -g --depth = 0. | awk -F '' '{print $ 2}' | awk -F '@' '{print $ 1}' | sudo xargs npm hapus -g
Ini bekerja untuk saya ...
sumber