Saya memiliki beberapa proyek npm yang disimpan di direktori lokal. Sekarang saya ingin mengambil cadangan proyek saya tanpa node_modules
folder, karena memakan banyak ruang dan juga dapat diambil kapan saja dengan menggunakan npm install
.
Jadi, saya memerlukan solusi untuk menghapus semua folder node_modules secara rekursif dari jalur yang ditentukan menggunakan antarmuka baris perintah. Setiap saran / bantuan sangat berarti.
-prune
adalah pengoptimalan yang penting. Ini akan kasus menemukan untuk tidak berulang kenode_module
direktori (untuk mencari node_modules bersarang)/node_modules/gulp-server-livereload/node_modules: Directory not empty
banyak folder node_modules "dalam". Bagaimana cara mengatasinya?'{}' +
?{}
adalah placeholder yangfind
menggantikan dengan jalur file yang ditemukannya.+
memberi tahufind
untuk menambahkan semua jalur file ke satu perintah daripada menjalankanrm
masing-masing.Memperbaiki jawaban yang diterima,
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
Saya menemukan bahwa perintah akan berjalan sangat lama untuk mengambil semua folder dan kemudian menjalankan perintah delete, untuk membuat perintah dapat dilanjutkan, saya sarankan untuk menggunakan
\;
dan untuk melihat kemajuan perintah yang dijalankan gunakan-print
untuk melihat direktori yang dihapus.Catatan: Anda harus terlebih dahulu
cd
masuk ke direktori root lalu menjalankan perintah atau alih-alihfind .
menggunakanfind {project_directory}
Untuk menghapus folder satu per satu
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \;
Untuk menghapus folder satu per satu dan mencetak folder yang sedang dihapus
find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;
Edit:
Untuk orang-orang yang menyukai cara interaktif untuk melakukan ini, lihat jawaban @jeckep, jalankan ini di direktori yang ingin Anda pangkas.
sumber
Coba https://github.com/voidcosmos/npkill
itu akan menemukan semua node_modules dan membiarkan Anda menghapusnya.
sumber
Saya telah menemukan solusi ini,
find
dan tentukan nama foldernya.-exec rm -rf '{}' +
jalankan perintah berikut untuk menghapus folder secara rekursif
find /path -type d -name "node_modules" -exec rm -rf '{}' +
sumber
bash
berfungsi untuk menghapusnode_modules
. Ini akan menghapus semuanode_modules
direktori secara rekursif dari direktori kerja saat ini, sambil mencetak jalur yang ditemukan.Anda hanya perlu meletakkannya di suatu tempat di
$PATH
rmnodemodules(){ find . -name 'node_modules' -type d -prune -exec echo '{}' \; -exec rm -rf {} \; }
sumber
Ini bekerja dengan sangat baik
find . -name "node_modules" -exec rm -rf '{}' +
sumber