Node_modules - Windows'ta Derin Yuvalanmış Klasör Nasıl Silinir


229

Tarafından oluşturulan node_modules dizinini kaldırmaya çalıştığınızda npm install:

Kaynak dosya adları dosya sistemi tarafından desteklenenden daha büyük. Daha kısa bir yol adına sahip bir konuma geçmeyi veya bu işlemi denemeden önce daha kısa adlara yeniden adlandırmayı deneyin

Ayrıca shift+ ' yı denedim deleteve hala aynı sorunu yaşıyorum.


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

3
Öneriniz için teşekkürler, @ SLaks! Bunu da denediğimi söylemeliydim, ancak dosyalar ve dizinler çok ve derin, C: \ Kullanıcılar \ 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 \ yürütülebilir \ node_modules \ meow \ node_modules \ camelcase-keys \ node_modules \ ... ve devam ediyor. Dosyaları manuel olarak yeniden adlandırmak pratik değildir ve umarım bir program yazmadan daha kolay yollar olacaktır
leoh

1
Webstorm hepsini silebilir.
ozzimpact

Long Path Fixer aracını kullandım ve bu ".meteor" klasörünü başarıyla kaldırdım. ( long-path-fixer.en.softonic.com )
Vu Doan

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

Yanıtlar:


438

Bu en iyi google sonucu olduğundan, benim için işe yarayan bu oldu:

RimRaf'ı yükleyin:

npm install rimraf -g

Ve proje klasöründe node_modules klasörünü silin:

rimraf node_modules

Yinelemeli olarak silmek istiyorsanız:

rimraf .\**\node_modules

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


burada çalışmıyor: "Hata: ENOTEMPTY, dizin boş değil". ve verilen bağlantı çalışmıyor!
olefrank

7
Blog yazısının yazarıyım. @olefrank: Bu, tüm klasörü (yalnızca node_modules'ü değil) silmeye çalıştığınızda ve ayrıca klasörü bir Explorer penceresinde açtığınızda gerçekleşme eğilimindedir. usagidon, orijinal kaynağı bağladığınız için teşekkürler.
Nikola

2
NodeJS'niz yoksa veya kaldırdıktan sonra NodeJS'in küresel modüllerini silmeye çalışıyorsanız bu yararlı olmaz (bu yüzden
robokopi

1
Soruya biraz daha spesifik olmak için 2 sentimi buraya ekleyeceğim. Tüm node_modules klasörlerini tekrar tekrar (globbing desenini kullanarak) rimraf .\**\node_modules
silebilirsiniz

1
@ Artif3x'in komünü en iyi cevap loll'u olarak işaretlenmelidir! özyinelemeli silmek için ipucu için teşekkürler :-)
Juan Stoppa

111

Bunu Winrar'ı kullanarak yaptım, bu garip bir çözüm gibi görünebilir ama çok iyi çalışıyor.

  • sağ tıkla node_modulesklasöre
  • seçmek Add to archive ... seçin.
  • Winrar iletişim kutusu açılır
  • sadece seçeneği kontrol et delete files after archiving
  • Bitirdikten sonra node_modules.rar dosyasını silmeyi unutmayın.


[UPDATE] Bu, 7Zip ile de çalışır



7
vay bu sinsi! +1 Görünüşe göre bu yeni npm veya başka bir şeyle giderildi.
erp

1
@ChrisS 7Zip ile nasıl çalışır? Özellikle GUI kullanırken!
bennos

4
2016'da (ve özellikle 2018'de) bir grup dosyayı silmek için bu kadar akıllı olmanıza gerek yok.
webelo

73

Herhangi bir kurulum yapmadan yalnızca DOS komutunu kullanarak SİL:

C veya D sürücüsünde boş bir "test" klasörü oluşturun ve aşağıdaki DOS komutunu kullanın

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

Yukarıdaki komutu tamamladıktan sonra klasörünüz boş olacak, şimdi klasörü silebilirsiniz.

Endişelenmeyin, test klasörünüz her zaman boş olacaktır, böylece istediğiniz zaman silebilirsiniz.


12
en iyi cevap, çünkü hiçbir şey yüklemenize gerek yok
luschn

1
Rimraf denedikten ve bir ağ klasörü ekledikten sonra, bulduğum en temiz çözüm bu. Bunu paylaştığın için teşekkürler.
danyim

1
mükemmel çözüm; kolay.
bob.mazzo

2
Az önce küçük bir bağımlılık yaptım > NUL. Bunu yeni denediğimde, konsol tarafından kısıldı ve 15 dakika veya daha fazla sürecekti. Yeniden yönlendirme yapıldığında, yaklaşık 2'de bitti
Mike Caron

Bazı JS dosyalarını silmek için başka bir JS kütüphanesine ihtiyacınız olması çok komik.
linuxunil

30

Git Bash'i klasörü kaldırmak için kullanabilirsiniz:

örnek: c: \ users \ olefrank \ projects \ mynodeproject

rm -rf / c / kullanıcılar / olefrank / projeler / mynodeproject


9
Bu, Windows 7'de çalışmadı. Dizin boş değil hatası
Miguel Stevens

5
Dizinleri de silecek olan -d bayrağını da belirtmeniz gerekir.
Stuart.Sklinar

veya -fR arka arkaya en üste çıkmak ve klasörü silmek için
Dan Kanze

@Karthiga -rf, RM'ye silme işlemini nasıl gerçekleştireceğini söyleyen bayraklar / seçenekler / parametrelerdir. rherhangi bir alt dizine geri çekilmeyi ve fsilme işlemini zorlamayı söyler (sorma). -rfaynı anda birden çok bayrak / seçenek belirtmek için kullanılan bir unix kuralıdır.
Tim Coker

20

De klasörü kaldırmak için GitBash kullandım!

rm -r node_modules

Her şeyi silmek biraz zaman aldı, ama benim için çalıştı!


Bu benim için çalıştı. Daha önce rimraf kullanıyordum. rimraf işe yaramadı ve bunu denedim.
Saiyaff Farouk

Bu en iyi yorum olmalı. Değil, sadece bir şeyi kaldırmak için bir şey yüklemek .. Alternatif olarak sadece yazınRD node_modules
David MacNeil

15

Windows'ta node_modules gibi Deep Netsted Klasörünü Sil

  1. seçenek 1

    rimrafNPM paketini kullanarak sil

    • Komut istemini açın ve dizininizi klasörün bulunduğu node_modulesklasöre değiştirin .

    • Çalıştırmak

      rimraf node_modules

    • Eksik rimraf HATASI sonra Yükle

      npm install rimraf -g

    • Kurulum tamamlandığında çalıştırın

      rimraf node_modules

  2. 2. Seçenek :

    Hiçbir şey takmadan Detele

    • testHerhangi bir Drive'da adıyla bir klasör oluşturun

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

    • klasörü sil testve FolderToDeleteikisi de boş

Pencerelerde neden bir sorun var?

Derin iç içe klasör yapısından biri node_modules, adı çok uzun olduğu için Windows klasörü silemiyor . Bunu çözmek için Kolay çözüm, RimRaf düğüm modülünü takın


Error: EPERM: operation not permitted
Travis Heeter

1
Düzeltildi: Bilgisayarımı yeniden başlatmam gerekiyordu. Bir şey kullanıyordu node_modules, ama bana bir izin hatası veriyordu.
Travis Heeter

8

Visual Studio Kodunu Deneyin

Birçok çözüm denedikten sonra bu oldukça basit buluyorum. sadece projeyi Visual code'da açın ve silin. kullanıcı arayüzü birkaç saniye donabilir ama kesinlikle işe yarayacaktır.

resim açıklamasını buraya girin

Teşekkürler


Garip çalışır !! :) Güvenli modda bile silmeye çalışıyorum, hatta kullanılmış sudo suama hiçbir şey yardımcı olmuyor. BTW, Mojave'ye geçene kadar başıma hiç gelmeyen OSX üzerinde çalışıyorum.
16'da forloop

6

Git Bash'i klasörü kaldırmak için kullanabilirsiniz:

örnek: c: \ users \ stu \ projects \ mynodeproject

rm / c / kullanıcılar / stu / projeler / mynodeproject -rfd


5

Benzer bir sorunum vardı ve RD bilinmeyen bir nedenden dolayı işe yaramadı.

NPM kendi karmaşasından kurtulabilir, yani npm uninstall [module-name] node_modules içindeki her dizin için yaparsanız, onlardan kurtulacaksınız.

(Çok fazla bağımlılığı olanlar için bunu daha sonra toplu olarak nasıl döngüleyeceğimizi araştıracağım.)



4

basit sadece windows için çalıştırın diğer işletim sistemleri için test etmedim

rm -r node_modules

aslında, bununla herhangi bir klasörü silebilirsiniz.

rm -r gibi AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete.

sadece klasörün kök dizinine gitbash hareketini açın ve bu komutu çalıştırın

Umarım bu yardımcı olur.

Teşekkürler, Ajay Kotnala


2

Windows'da Total Commander kullanarak yapmanız gereken tek şey shift+ tıklayın delete. shiftAnahtarı unutma .


Bu en iyi çözüm! TC, hıçkırık olmadan klasörü siler ve gerçekten hızlı
Marina Dunst

2

Herhangi bir dosya yöneticisi bu tür sorunları önlemeye izin verir, örneğin Far Manager

resim açıklamasını buraya girin


2
10 yıldan fazla bir süredir bu arayüzü kullanan kimseyi görmemiştim .. J günümü yaptı.
Rikki

2

PowerShell'deki proje klasörümün içinde del node_modules yapıyorum , size ve alt klasörüne kaldırmak isteyip istemediğinizi soracak, 'Y' tuşuna basacaksınız .


Basit olan. Teşekkür ederim
estin sunny

... \ node_modules öğesinde alt öğe var ve Recurse parametresi belirtilmedi. Devam ederseniz, tüm çocuklar öğeyle birlikte kaldırılacak. Devam etmek istediğine emin misin? [Y] Evet [A] Herkese Evet [N] Hayır [L] Herkese Hayır [S] Askıya Al [?] Yardım (varsayılan "Y"): Y: d: C: \ ... \ node_modules \ ngx -color-picker \ dist boş olmadığı için kaldırılamaz. rd node_modules -recurse
AUSTX_RJL

1
rd node_modules -recurse
AUSTX_RJL

@AUSTX_RJL rd de çalışıyor, ama del node_modules ile hiç bir sorunum olmadı .. kablolu, ama tnx PS
Roy.B

2

Her şeyi denedim ama işe yaramadı. Yukarıdaki yöntemlerin hiçbiri işe yaramadı. Sonunda VSCode ile silebilirdim.

  1. Sadece kök klasörünüzü VSCode ile açın.
  2. node_modulesKlasörü seçin ve silin.
  3. Kar. ( few millisecondsSilinecek.)

VSCode-delete.png


2

Düğüm_modüllerini veya diğer klasörleri hızlı bir şekilde silmek için bir Windows bağlam öğesi yaptım. Windows dizin dizinindeki bazı geçersiz karakterlerden dolayı bir klasörü silmediğinde kullanıyorum.

NASIL KURULUR?

  1. Rimraf yükleyin =>npm install rimraf -g

  2. Adlı yeni bir dosya oluşturun delete.bat, içeriği aşağıdaki gibi ayarlayın ve içine kopyalayınc:\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. Kayıt defterine almak için fast-delete.reg dosyasını çalıştırın .

    Bitti!

son sonuç


1

Kullandığım bir çözüm:

(CI ortamlarıyla çalışırken yeni bir uzantı (rimraf) yüklemekten kaçınmayı tercih ederim.)

  1. A) Packages.json dosyasını başka bir şeye yeniden adlandırın. B) Özellikle CI - npm kurulumundan sonra, dosyayı yeniden adlandırmak yerine genellikle kaldırırım, ancak ihtiyacınız varsa, bunu yapmak zorunda değilsiniz. Bu senin seçimin.
  2. run npm init- bu boş bir dosya oluştururpackages.json dosya oluşturur (bağımlılık yok)
  3. run npm prune- bu, node_modules öğesinin bağımlılıklar bölümü ile eşleşirpackages.json - adımlarının sonucu olarak artık boş - .
  4. # 1.A'yı seçtiyseniz . adımda yeni oluşturulan öğeyi silin packages.jsonve orijinali packages.jsonorijinal adına yeniden adlandırın .

1

Çok kolay.

Sadece node_modules içindeki tüm klasörleri silin ve sonra gerçek node_module klasörünü silin.

Bu benim için çalışıyor. İyi şanslar....


Dürüst olmak gerekirse, bu daha hızlı bir yol ama çok sabır gerekiyor. Tek seferde birkaç klasörü silerseniz daha da iyidir.
Santosh

1

Windows'ta benim çözümüm şu rmdirkomutu kullanıyor :

rd /S .\node_modules\

İlk kez başarısız olursa - bir kez daha deneyin. Ayrıca şu anda modülleri ( npm run serveveya benzeri) kullanan komut dosyalarınız olup olmadığını da kontrol edin .


0

Bu bakılırsa bu MSDN makalesinde , görünüşe gibi işlemlerini artık Windows 10 v1607 (AKA 'yıldönümü güncelleme') kayıt defterindeki bir değeri değiştirerek de MAX_PATH kısıtlama baypas - veya Grup İlkesi aracılığıyla


0

Sadece powershell kullanın ..

Üst klasöre powershell ve cd'yi çalıştırın ve ardından:

rm [yourfolder]

de olduğu gibi:

rm node_modules

0

Windows 10'dayım ve "dizin emtpy değil" mesajıyla klasörleri silemedim. Ne rimraf ne de rm -rf işe yaramadı.

Her bir klasöre boş bir metin dosyası kopyalamak hile yaptı - node_modules klasörünün tamamını silebilirdim.


0

Bazen, rimrafglobal olarak yükleseniz bile yerel bir rimrafbağımlılığa sahip olabilirsiniz (SASS genellikle buna sahiptir). Bu durumda aşağıdaki komutları çalıştırırım:

Usagidon'un önerdiği gibi ilk 2 adımı uygulayın , sorunlarınız veya hatalarınız varsa deneyin

npm uninstall rimraf & rimraf node_modules

bu yerel rimrafolanı siler ve global olanı kullanır


0

Tam olarak ilgili değil, ama bu benzer bir çözüm için bulduğum ilk yazı olduğu için burada göndermeye değer olduğunu düşünüyorum.

Electron-redux'u yükleme girişiminde başarısız olduktan sonra Windows 10'da node_modules klasörünü silmeye çalışırken izin sorunları ile karşılaşıyordum. Elektron-redux, node_modules'e @types ekledi ve yanlış izinler ayarlandı.

rimraf hala izin sorunlarıyla karşılaştığı için çalışmadı.

Sonra node_modules yeniden adlandırma sona erdi sonra basit bir silme çalıştı.


0

Tamam bu yüzden benim sorunum node_modules içinde .bin klasörü vardı ve bunu silmek mümkün değildi, ben aynı için yukarıdaki tüm çözümleri denedim ama hiçbir şey çalıştı.

Tekrarlanan hata "klasörü silme izniniz yok veya başka bir program tarafından kullanılmış" hatasıydı.

Ben "bilmeden node_modules klasöründen dosyaları kullanarak benim pc yüklü Antivirüs vardı" bulundu çözüm.

Antivirüs yüklemesini kaldırdım ya da antivirüs ayar seçeneğinden izin ayarını değiştirebilirim (sahip olduğunuz antivirüs uygulamasına bağlı olarak). Şimdi node_modules klasörünü silebilirim.


0

Benim için işe yarayan şuydu:

  1. düğüm yöneticisi konsolunu kapattı
  2. bulunduğunuz Atom (visual studio code) geliştirme ortamını kapattı.
  3. sonra node_modules'ü silin

    npm install rimraf -g 
    rimraf node_modules

0

PowerShell yolu:

PS > rm -r -force node_modules

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

Ve her birini silmek istiyorsanız node_modules alt dizinlerdeki :

Not Yinelemeli olarak silindiği için tehlikeli olabilir, burada ne yaptığınızdan emin olun

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

0

Bu amaç için özel olarak başka bir npm paketi kullanabilirsiniz. Kullanarak klasöre yerel olarak yükleyerek

npm i rm-node-modules-recur

İsterseniz global olarak -g anahtarıyla da kurabilirsiniz.

Yerel olarak yüklendiyse, ikili dosyayı geçerli node_modules.bin \ dizininden çağırabilirsiniz.

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

Global kurulumu seçerseniz,

rmnodes "<top level directory within quotes>"

ve thats it .. Bu paket, tüm alt dizinlerden node_modules'i özyinelemeli olarak (benim durumumda bazı 60 tek klasör) kolayca silecektir. ekli anlık görüntüye bakın. rm-node-modules-recur kullanarak


-1

Biraz vuruş yapınBirden çok klasör için ...

'Node_module' içeren birden fazla 'derleme' içeren bir proje klasörünüz varsa. Sevmek:

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

"Build" ile başlayan tüm klasörleri silmek istiyorsunuz

! Önce nodejs ve rimraf'ı yukarıda önerildiği gibi kurun !

Ardından proje ile yola gidin ve PowerShell komutunu çalıştırın

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

Bir süre alacak


-1

@ Mike-caron cevabına dayalı basit bir toplu iş yapabilirsiniz, böylece her robocopykomutun tamamını yazmanız gerekmez, bunun yerine seçilen klasöre yol girin:

@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

Burada boş bir dizin adında kullandığınız empty_dir içinde robocopyihtiyaçlar çalışmalarına bunun için toplu dosyası ile aynı dizinde olması için bu komutu. Toplu iş dosyası işini bitirdikten sonra, hem seçilen dizin hem de empty_dir dizini boş olacak, böylece bunları kaldırabilirsiniz.

Boş klasör oluşturan basit bir toplu iş dosyası hazırladım ve robocopykomut yürütüldükten sonra hem boş klasörü hem de seçilen klasörü kaldırır, böylece yapmanız gereken tek şey silmek istediğiniz seçili klasörün yolunu girmektir. Rimraf gibi şeyleri kurmak istemiyorsanız hızlı ve pratiktir . Buradan indirebilirsiniz https://github.com/5imun/WinCleaner


Bu bağlantı soruyu cevaplayabilse de, cevabın temel kısımlarını buraya eklemek ve bağlantıyı referans olarak sağlamak daha iyidir. Bağlantı verilen sayfa değişirse, yalnızca bağlantı yanıtları geçersiz olabilir. - Yorumdan
SherylHohman
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.