Mac'te eski node_modules klasörleri ve paket önbellekleri nasıl bulunup silinir
Her JavaScript projesi kendi node_modules klasörünü taşır ve bu klasör çoğu zaman 200 MB ile 1 GB arasındadır. Paket yöneticileri de her şeyin ikinci bir kopyasını önbelleklerinde tutar. Aylar önce bitirdiğiniz projeler hâlâ bunların hepsini barındırır.
Kısacası: node_modules klasörleri ve paket önbellekleri güvenle silinebilir: npm install (ya da pnpm, yarn, bun) lockfile'da listelenen her şeyi birebir geri getirir. Önbellekler için her paket yöneticisinin kendi temizleme komutunu kullanın.
Mac'teki tüm node_modules klasörlerini nasıl bulurum?
Bu komutu kodlarınızın durduğu klasöre yöneltin. Her node_modules klasörünü boyutuyla listeler, en büyüğü en sonda:
find ~/Projects -type d -name node_modules -prune -exec du -sh {} + 2>/dev/null | sort -h
-prune, başka bir node_modules klasörünün içindeki node_modules klasörlerinin de sayılmasını önler. Eski projelerinkileri Finder'da Çöp Sepeti'ne taşıyın ya da rm -rf ile silin (geri alınamaz).
node_modules klasörünü silmek güvenli mi?
Evet. İçinde indirilmiş paketler vardır ve hangileri olduklarını package.json ile lockfile belirler. Projede npm install çalıştırmak onları geri getirir. İki istisna var: node_modules içinde elle düzenlediğiniz paketler (bunun yerine patch-package ya da paket yöneticinizin patch komutunu kullanın) ve çevrimdışı çalışmak.
Hangi paket önbelleklerini temizleyebilirim, nasıl?
- npm (
~/.npm/_cacache):npm cache clean --force - pnpm (
~/Library/pnpm/store):pnpm store prunehiçbir projenin kullanmadığı paketleri siler - Yarn (
~/Library/Caches/Yarn,~/.yarn/berry/cache):yarn cache clean - Bun (
~/.bun/install/cache):bun pm cache rm - Homebrew (
~/Library/Caches/Homebrew):brew cleanup - pip (
~/Library/Caches/pip):pip cache purge; uv (~/.cache/uv):uv cache clean - Go:
go clean -cache -modcache - CocoaPods:
pod cache clean --all; Gradle (~/.gradle/caches), Maven (~/.m2/repository) ve Cargo (~/.cargo/registry) Çöp Sepeti'ne taşınabilir, gerektiğinde yeniden indirilir - Playwright tarayıcıları (
~/Library/Caches/ms-playwright):npx playwright installile yeniden kurun
Her proje bir sonraki kurulumda ihtiyaç duyduğunu yeniden indirir, bu yüzden temizlikten sonraki ilk kurulum daha yavaştır.
Build klasörleri de silinebilir mi?
Derleme çıktısı da kendiliğinden yeniden oluşur: JavaScript projelerinde .next, .turbo, dist ve build, Rust ve Maven'da target, Swift paketlerinde .build, CocoaPods projelerinde Pods (pod install geri getirir).
Neleri saklamalıyım?
- Python sanal ortamları (
.venv): Yeniden oluşturulan ortam farklı olabilir, çünkü elle kurulan paketler ve sabitlenmemiş sürümler aynı şekilde geri gelmez. - nvm veya fnm'de kullandığınız Node.js sürümü.
~/.nvm/versions/nodeiçinde hiçbir projenin ihtiyaç duymadığı eski sürümler silinebilir. - Commit edilmemiş değişiklikleri olan projeler: Bağımlılıklardan daha büyük bir şeyi silmeden önce
git statusile kontrol edin.