Cara Menghapus node_modules - Folder Bersarang Jauh di Windows


229

Setelah mencoba menghapus direktori node_modules yang dibuat oleh npm install:

Nama file sumber lebih besar dari yang didukung oleh sistem file. Coba pindah ke lokasi yang memiliki nama jalur lebih pendek, atau coba ganti nama menjadi nama pendek sebelum mencoba operasi ini

Saya juga mencoba shift+ deletedan masih memiliki masalah yang sama.


try renaming to shorter name(s) before attempting this operation
SLaks

3
Terima kasih atas saran Anda, @ Slaks! Saya seharusnya menyebutkan bahwa saya mencobanya juga, tetapi file dan dirs banyak dan mendalam, memiliki hal-hal seperti C: \ Users \ my_user_name \ projs \ backend \ node_modules \ imagemin \ node_modules \ imagemin-optipng \ node_modules \ optipng-bin \ node_modules \ bin-wrapper \ node_modules \ bin-check \ node_modules \ executable \ node_modules \ meow \ node_modules \ camelcase-keys \ node_modules \ ... dan terus berjalan. Tidak praktis mengubah nama file secara manual dan saya harap akan ada cara yang lebih mudah tanpa menulis program
leoh

1
Webstorm dapat menghapus semua.
ozzimpact

Saya menggunakan alat Long Path Fixer dan berhasil menghapus folder ".meteor" ini. ( long-path-fixer.en.softonic.com )
Vu Doan

RUN INSTALL, npm install rimraf -g, RUN DELETE, rimraf node_modules
Jinna Balu

Jawaban:


438

Karena ini hasil teratas Google, inilah yang bekerja untuk saya:

Instal RimRaf:

npm install rimraf -g

Dan dalam folder proyek hapus folder node_modules dengan:

rimraf node_modules

Jika Anda ingin menghapus secara rekursif:

rimraf .\**\node_modules

[ http://www.nikola-breznjak.com/blog/nodejs/how-to-delete-node_modules-folder-on-windows-machine/ ]


tidak berfungsi di sini: "Kesalahan: ENOTEMPTY, direktori tidak kosong". dan tautan yang disediakan tidak berfungsi!
olefrank

7
Saya penulis posting blog. @olefrank: ini cenderung terjadi ketika Anda mencoba menghapus seluruh folder (bukan hanya node_modules), dan juga jika Anda kebetulan membuka folder di jendela Explorer. usagidon, terima kasih telah menautkan sumber aslinya.
Nikola

2
Itu tidak akan berguna jika Anda tidak memiliki NodeJS, atau Anda mencoba untuk menghapus modul global NodeJS setelah mencopotnya (itu sebabnya saya harus menggunakan robocopy)
Zorgatone

1
Saya akan menambahkan 2 sen saya di sini untuk menjadi sedikit lebih spesifik untuk pertanyaan itu. Anda dapat menghapus semua folder node_modules secara rekursif (menggunakan pola globbing) seperti ini:rimraf .\**\node_modules
Artif3x

1
Commnent @ Artif3x harus ditandai sebagai jawaban jawaban terbaik! terima kasih atas tipnya untuk menghapus secara rekursif :-)
Juan Stoppa

111

Saya hanya melakukan itu dengan menggunakan Winrar, ini mungkin solusi aneh tapi bekerja dengan sangat baik.

  • klik kanan pada node_modulesfolder
  • pilih Add to archive ...dari menu.
  • Dialog Winrar terbuka
  • cukup periksa opsi delete files after archiving
  • Jangan lupa untuk menghapus node_modules.rar setelah selesai.


[PEMBARUAN] Ini juga berfungsi dengan 7Zip



7
wow ini licik! +1 Pernah menggunakan robocopy yang rupanya ini telah diperbaiki dengan npm baru atau sesuatu.
erp

1
@ Chris Bagaimana cara kerjanya dengan 7Zip? Terutama saat menggunakan GUI!
bennos

4
Pada 2016 (dan terutama 2018) Anda tidak harus sepandai ini untuk menghapus banyak file.
webelo

73

HAPUS hanya dengan menggunakan perintah DOS tanpa instalasi apa pun:

Buat folder kosong "test" pada drive C atau D dan gunakan perintah DOS berikut

robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL

Setelah menyelesaikan perintah di atas, folder Anda akan kosong, sekarang Anda dapat menghapus folder.

Jangan khawatir folder pengujian Anda akan selalu kosong, sehingga Anda dapat menghapusnya kapan saja.


12
jawaban terbaik, karena Anda tidak perlu menginstal apa pun
luschn

1
Setelah mencoba rimraf dan menambahkan folder jaringan, ini adalah solusi terbersih yang saya temukan. Terima kasih telah berbagi ini.
danyim

1
solusi hebat; mudah.
bob.mazzo

2
Aku hanya membuat samping itu kecil: > NUL. Ketika saya baru saja mencoba ini, itu sedang dicekik oleh konsol, dan akan memakan waktu 15 menit atau lebih. Dengan pengalihan di tempat, selesai sekitar 2
Mike Caron

Sangat lucu bahwa untuk menghapus beberapa file JS, Anda memerlukan perpustakaan JS lainnya.
linuxunil

30

Anda dapat menggunakan Git Bash untuk menghapus folder:

contoh: c: \ users \ olefrank \ projects \ mynodeproject

rm -rf / c / pengguna / olefrank / proyek / mynodeproject


9
Ini tidak berfungsi pada Windows 7. Direktori bukan kesalahan kosong
Miguel Stevens

5
Anda perlu menentukan flag -d juga, yang juga akan menghapus direktori.
Stuart.Sklinar

atau -fR untuk secara rekursif naik ke atas dan menghapus folder juga
Dan Kanze

@Karthiga -rf adalah flag / opsi / parameter yang memberi tahu RM bagaimana melakukan operasi penghapusan. rmengatakan untuk kembali ke subdirektori dan fmengatakan untuk memaksa penghapusan (jangan diminta). -rfadalah konvensi unix untuk menentukan beberapa flag / opsi sekaligus.
Tim Coker

20

Saya menggunakan GitBash untuk menghapus folder de!

rm -r node_modules

Butuh beberapa saat untuk menghapus semuanya, tetapi berhasil untuk saya!


Ini berhasil untuk saya. Saya menggunakan rimraf sebelumnya. Rimraf tidak bekerja dan saya mencoba ini.
Saiyaff Farouk

Ini harus menjadi komentar teratas. Tidak, menginstal sesuatu hanya untuk menghapus sesuatu .. Atau ketik sajaRD node_modules
David MacNeil

15

Hapus Deep Netsted Folder seperti node_modules di Windows

  1. Pilihan 1

    Hapus menggunakan rimrafpaket NPM

    • Buka command prompt dan ubah direktori Anda ke folder di mana node_modulesfolder itu ada.

    • Lari

      rimraf node_modules

    • Hilang rimraf ERROR kemudian Instal

      npm install rimraf -g

    • Ketika instalasi selesai, jalankan

      rimraf node_modules

  2. Opsi 2 :

    Detele tanpa menginstal apa pun

    • Buat folder dengan nama testdi Drive apa pun

      robocopy /MIR c:\test D:\UserData\FolderToDelete > NUL

    • hapus folder testdan FolderToDeletekarena keduanya kosong

Mengapa ini menjadi masalah di windows?

Salah satu struktur folder bersarang yang dalam adalah node_modules, Windows tidak dapat menghapus folder karena namanya terlalu panjang . Untuk mengatasi ini, solusi mudah, instal modul simpul RimRaf


Error: EPERM: operation not permitted
Travis Heeter

1
Memperbaiki: Saya harus me-restart komputer saya. Ada yang menggunakan node_modules, tapi itu memberi saya kesalahan izin.
Travis Heeter

8

Coba kode Visual Studio

Setelah mencoba banyak solusi, saya menemukan ini cukup sederhana. cukup buka proyek dalam kode Visual dan hapus. UI mungkin membeku selama beberapa detik tetapi pasti akan berfungsi. Saya uji menggunakan banyak folder node_modules ukuran besar dengannya

masukkan deskripsi gambar di sini

Terima kasih


Anehnya bekerja !! :) Saya sudah mencoba untuk menghapusnya bahkan dalam mode Aman, bahkan digunakan sudo sutetapi tidak ada yang membantu. BTW, saya menjalankan OSX yang tidak pernah terjadi pada saya sampai saya memutakhirkan ke Mojave.
forloop

6

Anda dapat menggunakan Git Bash untuk menghapus folder:

contoh: c: \ users \ stu \ projects \ mynodeproject

rm / c / pengguna / stu / proyek / mynodeproject -rfd


5

Saya memiliki masalah yang sama dan RD tidak berfungsi, karena alasan yang tidak diketahui.

NPM dapat menyingkirkan kekacauannya sendiri, jadi jika Anda melakukannya npm uninstall [module-name]untuk setiap direktori di node_modules, Anda akan menyingkirkannya.

(Saya akan mencari cara untuk batch loop ini nanti, bagi mereka yang memiliki banyak dependensi.)



4

sederhana jalankan saja untuk windows saya belum mengujinya untuk sistem operasi lain

rm -r node_modules

sebenarnya, Anda dapat menghapus folder apa pun dengan ini.

seperti rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete.

cukup buka pindahkan gitbash ke root folder dan jalankan perintah ini

Semoga ini bisa membantu.

Terima kasih, Ajay Kotnala


2

Di Windows, menggunakan Total Commander yang harus Anda lakukan adalah memilih folder klik shift+ delete. Jangan lupa shiftkuncinya.


Ini solusi terbaik! TC menghapus folder tanpa cegukan dan sangat cepat
Marina Dunst

2

Setiap manajer file memungkinkan untuk menghindari masalah seperti itu, misalnya Manajer Jauh

masukkan deskripsi gambar di sini


2
Saya belum pernah melihat orang menggunakan antarmuka yang seperti itu selama 10+ tahun sekarang .. J membuat hari saya.
Rikki

2

Saya hanya melakukan del node_modules di dalam folder proyek saya di PowerShell, ia akan menanyakan apakah Anda ingin menghapusnya dan folder anak-anaknya, cukup tekan 'Y' dan hanya itu


Sederhana Terima kasih
estin sunny

... \ node_modules memiliki anak-anak dan parameter Perulangan tidak ditentukan. Jika Anda melanjutkan, semua anak akan dihapus dengan item tersebut. Apakah anda yakin ingin melanjutkan? [Y] Ya [A] Ya untuk Semua [N] Tidak [L] Tidak untuk Semua [S] Menunda [?] Bantuan (standarnya adalah "Y"): Y rd: Direktori C: \ ... \ node_modules \ ngx -color-picker \ dist tidak dapat dihapus karena tidak kosong. rd node_modules -recurse
AUSTX_RJL

1
rd node_modules -recurse
AUSTX_RJL

@AUSTX_RJL rd juga berfungsi, tapi saya tidak pernah punya masalah dengan del node_modules .. wired, tapi tnx cara lain untuk menghapus PS
Roy.

2

Mencoba segalanya tetapi tidak berhasil. Semua metode di atas tidak melakukan apa pun. Akhirnya saya bisa menghapus melalui VSCode.

  1. Cukup Buka folder root Anda dengan VSCode.
  2. Pilih node_modulesfolder dan hapus.
  3. Keuntungan. (Dibutuhkan few millisecondsuntuk menghapus.)

VSCode-delete.png


2

Saya membuat item konteks Windows untuk menghapus dengan cepat node_modules atau folder lain. Saya menggunakannya ketika Windows tidak menghapus folder karena beberapa karakter yang tidak valid di jalur direktori.

BAGAIMANA CARA MENG-INSTALL?

  1. Instal rimraf =>npm install rimraf -g

  2. Buat file baru dengan nama delete.bat, atur konten seperti di bawah ini dan salin kec:\windows\system32\

    delete.bat:

 @ECHO OFF
 ECHO.
 ECHO %CD% 
 ECHO.
 ECHO Are you sure to delete the folder with Rimraf?
 PAUSE
 SET FOLDER=%CD%
 CD /

 rimraf "%FOLDER%"

 rem DEL /F/Q/S "%FOLDER%" > NUL
 rem RMDIR /Q/S "%FOLDER%"

 EXIT
  1. Jalankan file fast-delete.reg untuk mengimpor ke dalam registri.

    Selesai!

hasil akhir


1

Salah satu solusi yang saya gunakan:

(Saya lebih suka menghindari memasang ekstensi baru (rimraf) ketika bekerja dengan lingkungan CI.)

  1. A) Ubah nama package.json ke sesuatu yang lain. B) Khususnya pada CI - setelah instalasi NPM, saya biasanya menghapus file alih-alih mengganti nama, tetapi jika Anda membutuhkannya, Anda tidak perlu melakukan ini. Itu pilihanmu.
  2. jalankan npm init- ini akan membuat packages.jsonfile kosong (tidak ada dependensi)
  3. jalankan npm prune- ini akan mencocokkan node_modules dengan bagian dependensi packages.json- yang sekarang kosong sebagai hasil langkah # 2.
  4. Jika Anda memilih # 1.A. langkah, hapus yang baru dibuat packages.json, dan ganti nama aslinya packages.jsonmenjadi nama aslinya.

1

Ini terlalu mudah.

Hapus saja semua folder di dalam node_modules dan kemudian hapus folder node_module yang sebenarnya.

Ini bekerja untuk saya. Semoga berhasil ....


Sejujurnya, ini adalah cara tercepat tetapi banyak kesabaran diperlukan. Lebih baik lagi jika Anda menghapus beberapa folder sekaligus.
Santosh

1

Di Windows solusi go to saya menggunakan rmdirperintah :

rd /S .\node_modules\

Jika gagal pertama kali - coba sekali lagi. Periksa juga apakah Anda telah menjalankan skrip saat ini menggunakan modul ( npm run serveatau serupa).


0

Dari tampilan artikel MSDN ini , sepertinya Anda sekarang dapat melewati pembatasan MAX_PATH di Windows 10 v1607 (AKA 'pembaruan ulang tahun') dengan mengubah nilai dalam registri - atau melalui Kebijakan Grup


0

Cukup gunakan PowerShell ..

Jalankan powershell dan cd ke folder induk lalu:

rm [yourfolder]

seperti dalam:

rm node_modules

0

Saya di windows 10 dan saya tidak bisa menghapus folder dengan pesan "direktori bukan emtpy". Baik rimraf atau rm -rf tidak berfungsi.

Menyalin file teks kosong ke setiap folder melakukan trik - Saya dapat menghapus folder node_modules lengkap.


0

Terkadang, bahkan jika Anda menginstal rimrafsecara global, Anda dapat memiliki rimrafketergantungan lokal (SASS biasanya memilikinya). Dalam hal ini saya akan menjalankan perintah berikut:

Ikuti 2 langkah pertama seperti usagidon direkomendasikan, jika Anda memiliki masalah atau kesalahan, cobalah

npm uninstall rimraf & rimraf node_modules

ini akan menghapus lokal rimrafdan menggunakan yang global


0

Tidak persis terkait, tetapi karena ini adalah posting pertama yang saya temukan dalam pencarian saya untuk solusi serupa, saya pikir itu layak posting di sini.

Saya mengalami masalah izin pada Windows 10 mencoba menghapus folder node_modules saya setelah upaya gagal menginstal electron-redux. Tampaknya electron-redux menambahkan @types ke node_modules saya, yang memiliki pengaturan izin yang salah.

rimraf tidak berfungsi karena masih mengalami masalah izin.

Saya akhirnya mengubah nama node_modules kemudian penghapusan sederhana berhasil.


0

Oke jadi masalah saya adalah bahwa saya punya folder .bin di dalam node_modules dan saya tidak dapat menghapusnya, saya mencoba semua solusi di atas untuk hal yang sama tetapi tidak ada yang berhasil.

Kesalahan yang berulang adalah "Anda tidak memiliki izin untuk menghapus folder atau telah digunakan oleh beberapa program lain".

Solusi yang saya temukan "Saya telah menginstal Antivirus di pc saya, yang tanpa sadar menggunakan file dari folder node_modules".

Saya menghapus antivirus atau Anda dapat mengubah pengaturan izin dari opsi pengaturan antivirus (tergantung pada antivirus yang Anda miliki). Sekarang saya dapat menghapus folder node_modules.


0

Apa yang berhasil untuk saya adalah:

  1. menutup konsol node manager
  2. tutup lingkungan dev Atom (kode studio visual) tempat Anda berada.
  3. kemudian hapus node_modules

    npm install rimraf -g 
    rimraf node_modules

0

Cara PowerShell:

PS > rm -r -force node_modules

# The same, but without using aliases
PS > Remove-Item -Recurse -Force node_modules

Dan jika Anda ingin menghapus setiap node_modulesdalam sub direktori:

Catatan Berpotensi berbahaya karena terhapus secara rekursif, pastikan apa yang Anda lakukan di sini

PS > dir -Path . -Filter node_modules -recurse | foreach {echo $_.fullname; rm -r -Force $_.fullname}

0

Anda dapat menggunakan paket npm lain khusus untuk tujuan ini. Dengan menginstalnya secara lokal di folder menggunakan

npm i rm-node-modules-recur

Jika mau, Anda juga dapat menginstalnya secara global dengan -g switch.

Jika diinstal secara lokal, Anda dapat memanggil biner dari direktori saat ini node_modules.bin \ using

 .\node_modules\.bin\rmnodes "<top level directory within quotes>"

Jika Anda memilih instalasi global cukup gunakan

rmnodes "<top level directory within quotes>"

dan itu saja .. paket ini akan menghapus node_modules dari semua sub direktori secara rekursif (dalam kasus saya sekitar 60 folder aneh) dengan mudah. lihat foto terlampir. menggunakan rm-node-modules-recur


-1

Majukan sedikit ketukan untuk banyak folder ...

Jika Anda memiliki folder proyek dengan beberapa 'build' yang berisi 'node_module'. Suka:

C:/Project/build-1/node_modules
C:/Project/build-2/node_modules
C:/Project/build-3/node_modules
C:/Project/build-4/node_modules

Anda ingin menghapus semua folder dimulai dengan "membangun"

! Pertama instal nodejs dan rimraf seperti yang disarankan di atas!

Lalu pergi ke jalan dengan proyek dan jalankan perintah PowerShell

cd  C:/Project/
Get-ChildItem build* | foreach {rimraf -Path $_.FullName}

Itu akan mengambil tipu muslihat


-1

Anda dapat membuat kumpulan sederhana berdasarkan jawaban @ mike-caron sehingga Anda tidak perlu mengetik setiap kali seluruh robocopyperintah, alih-alih hanya memasukkan jalur ke folder yang dipilih:

@echo off
ECHO What Directory would you like to empty?
ECHO Current path: %cd%
SET /p UserInputPath=Input relative path to directory:
ROBOCOPY /MIR empty_dir %cd%\%UserInputPath% > NUL
PAUSE

Di sini Anda menggunakan direktori kosong bernama blank_dir dalam robocopyperintah yang perlu berada di direktori yang sama dengan file batch agar dapat berfungsi. Setelah file batch menyelesaikan tugasnya, direktori yang dipilih dan direktori empty_dir akan kosong sehingga Anda dapat menghapusnya.

Saya membuat file batch sederhana yang membuat folder kosong dan setelah robocopyperintah dijalankan menghapus folder kosong dan folder yang dipilih sehingga satu-satunya hal yang perlu Anda lakukan adalah memasukkan path ke folder yang dipilih yang ingin Anda hapus. Cepat dan praktis jika Anda tidak ingin menginstal barang seperti rimraf . Anda dapat mengunduhnya di sini https://github.com/5imun/WinCleaner


Meskipun tautan ini dapat menjawab pertanyaan, lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini dan memberikan tautan untuk referensi. Jawaban hanya tautan dapat menjadi tidak valid jika halaman tertaut berubah. - Dari Ulasan
SherylHohman
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.