İki araç, iki önbellek modeli
npm, %LOCALAPPDATA%\npm-cache içinde içerik adresli bir önbellek tutar: indirdiği her tarball, artı günlükler ve tek seferlik paket çalıştırmaları için _npx önbelleği. Kurulu projelerin çalışması için bunların hiçbiri gerekmez — yalnızca gelecekteki kurulumları hızlandırmak ve çevrimdışı çalışmayı kolaylaştırmak için vardır. pnpm farklı çalışır: tek bir depo (yeni sürümlerde %LOCALAPPDATA%\pnpm\store) gerçek dosyaları tutar; her projedeki node_modules klasörü de ona dönen sabit bağlantılardan örülüdür. pnpm projeleri disk kullanımını npm projeleri gibi katlamaz — ve depo da sınırsız büyür: her yeni paket sürümü, temizleyene dek orada kalıcı olarak yerleşir.
Sonuç, tanıdık sürprizdir: eski bir projeyi silersiniz, alan geri gelmez, çünkü depodaki sabit bağlantılar veriyi canlı tutar. Bakılacak olan proje klasörleri değil, depodur.
Bilmeye değer temizlik komutları
Buradaki her şey tasarımı gereği güvenlidir — önbellek önbellektir, araçlar talep geldiğinde yeniden kurar:
- npm cache clean --force — npm önbelleğinin tamamını siler; sonraki kurulumlar gerekeni yeniden indirir
- npm cache verify — yumuşak seçenek: yerle bir etmek yerine çöp toplar ve bütünlüğü denetler
- pnpm store prune — hiçbir projenin artık bağlantılamadığı paketleri depodan kaldırır
- %LOCALAPPDATA%\npm-cache\_npx klasörünü silin — npx çalıştırmalarının tek kullanımlık önbellekleri, atılması her zaman güvenlidir
- npm config set cache D:\dev\npm-cache — önbelleği sistem diskinden kalıcı olarak veri diskine taşır
- Önce ölçün: AppData'nın boyut taraması körlemesine silmekten iyidir — npm-cache ve pnpm deposu bilinen iki şüphelidir
NTFS sabit bağlantı tuzağı
İşte herkesi şaşırtan kısım: NTFS'te bir dosyanın verileri, ona işaret eden son sabit bağlantı yok olmadan serbest kalmaz. node_modules'i temizledikten hemen sonra pnpm deposunu silerseniz beklediğiniz alanı kazanırsınız. Projeler dosyalarına bağlantı verirken depoyu silerseniz hiçbir şey kazanamazsınız — baytlar node_modules var olduğu sürece diskte kalır ve Gezgin, fiilen boş kabuklar olan depo girdilerini göstermeye devam eder. Yani sıra önemli: önce projeleri (ya da node_modules'lerini) kaldırın, sonra pnpm store prune çalıştırın. CI koşucuları ve sürekli pek çok depo geçiren makineler, bunu her ay yapmaktan en çok kazananlardır; tek projeli bir dizüstünde depo nadiren bu ilgiyi hak eder.
Sorular ve yanıtlar
AppData'daki npm-cache klasörünü silmek güvenli mi?
Evet. İçinde yalnızca indirilen tarball'lar ve günlükler vardır; npm ihtiyacını sonraki kurulumda yeniden indirir. npm cache clean --force kullanın ya da klasörü silin.
pnpm deposu Windows'ta nerede?
Yeni pnpm sürümlerinde %LOCALAPPDATA%\pnpm\store içinde — pnpm store path komutu tam yolu gösterir. Elle klasör silmek yerine pnpm store prune ile temizleyin.
Satın almadan önce lisans kapsamını öğrenin.
Tek seferlik 30 dakikalık deneme temel araçları kapsar. PRO özellikleri ücretli lisans etkinleştirilene kadar kilitlidir.
Bunları da okuyun
Bize yazın: [email protected]