Mac’te npm Önbelleği Nasıl Güvenle Temizlenir?
AskClean Ekibi · Güncellendi 2026-11-02
npm’in etkin önbelleğini npm config get cache ile bulun, tam bu yolu du ile ölçün ve herhangi bir şey silmeden önce npm cache verify çalıştırın. npm cache clean --force komutunu yalnızca disk alanına gerçekten ihtiyacınız varsa ve sonraki indirmelerin maliyetini kabul ediyorsanız kullanın. Bu komut node_modules klasörlerine, package.json dosyasına veya kilit dosyanıza dokunmaz.

npm önbelleğini kurulu bağımlılıklardan ve proje dosyalarından ayırın
npm önbelleği birden çok projenin yeniden kullandığı indirmeleri saklar ve macOS’te varsayılan olarak ~/.npm altındadır; ancak yapılandırmayla başka bir yere alınmış olabilir. Tek bir projenin kurulu bağımlılık ağacı olan node_modules ise bu indirme önbelleğinin parçası değildir. Proje durumunu tutan package.json ve package-lock.json da önbellek değildir. Aynı şey npm-shrinkwrap.json için de geçerlidir; npm v12 artık bu dosyayı okumaz. Eski bir projede yetkili kilit dosyası buysa ve package-lock.json yoksa, aynı biçimdeki bu dosyayı package-lock.json olarak yeniden adlandırın; var olan bir package-lock.json dosyasının üzerine yazmayın.
Etkin önbelleği ölçün ve önce doğrulayın
~/.npm klasörünün var olması, etkin önbelleğin o olduğunu kanıtlamaz. npm config get cache, o yapılandırmanın kullandığı yolu verir; du ile tam bu yolu ölçüp boş alanı kaydedin. npm cache verify önbellek indeksini ve içeriğini denetler, bütünlüğü doğrular ve geçerli indirmeleri topluca atmadan gereksiz verileri temizler. Olağan bakım için bu çoğu zaman yeterlidir; bir kurulum hatasını araştırıyorsanız başarısız olan komutu bir kez yeniden deneyip hata mesajını karşılaştırın.
- npm --version ve npm config get cache çalıştırın; dönen yolun proje klasörü değil önbellek olduğunu doğrulayın.
- Tam olarak bu yolu du -sh ile ölçüp macOS’teki boş alanı kaydedin; package.json ile kilit dosyalarını değiştirmeyin.
- Çalışan npm install, npm ci, npm exec ve yayımlama süreçlerini durdurun; npm cache verify çalıştırıp özeti ve hataları saklayın.
- Yalnızca verify yeterli olmadığında, kazanılacak alan anlamlıysa ve gereken tüm paketler yeniden indirilebilecekse npm cache clean --force çalıştırın.
- npm cache verify komutunu yeniden çalıştırın, aynı yolu ölçün ve değişmemiş kilit dosyasıyla örnek bir projenin derleme ve testlerini doğrulayın.
Doğrulanmamış bir yolu asla rm -rf komutuna vermeyin. Önbellek temizliğini kilit dosyasını silmek veya yeniden üretmekle birleştirmeyin; aynı anda iki değişkeni değiştirirsiniz ve hatanın kaynağını karşılaştırma olanağını kaybedersiniz.
npm cache clean --force komutunu bilinçli kullanın
npm cache clean --force yalnızca ölçülen önbellek anlamlı büyüklükteyse, disk alanına şimdi ihtiyacınız varsa ve paketler sonradan yeniden indirilebiliyorsa çalıştırılmalıdır. Komut yapılandırılmış önbelleği temizler; node_modules klasörlerini veya kilit dosyalarını silmez. Sonraki npm install ve npm ci işlemleri daha uzun sürebilir ya da çevrimdışı ortamda başarısız olabilir; özel registry’ler, Git sunucuları, proxy’ler ve artık yayımlanmayan paketler kurtarma maliyetini artırır. force ayarını npm yapılandırmasında kalıcı hâle getirmeyin.
Bağımlılık grafiğini değiştirmeden sonucu doğrulayın
Temizlikten sonra npm config get cache ile yolu yeniden alın, aynı konumu ölçün ve macOS’in gerçekten kazandığı boş alanı karşılaştırın. Ardından package.json ile kilit dosyasını değiştirmeden örnek bir projenin kurulumunu, derlemesini ve testlerini çalıştırın. İlk hata geri gelirse önbelleği tekrar tekrar silmeyin: ERESOLVE, eksik kimlik doğrulama, 404, proxy veya sertifika sorunları, Node.js sürüm koşulları, yerel derlemeler ve yaşam döngüsü betikleri ayrı ayrı tanılanmalıdır. AskClean varsayılan ~/.npm klasörünü tek bir ortak önbellek öğesi olarak gösterir ve onaylarsanız kalıcı olarak siler; özel önbellek yollarını npm ile denetleyin.
Silme sınırları ve kurtarma maliyetleri
npm’in kullandığı indirme önbelleğini bulun, ölçün ve önce doğrulayın; node_modules ve proje dosyalarına dokunmadan yalnızca gerekirse temizleyin.
| Öğe veya işlem | Nerede ya da neyle denetlenir | Sonuç |
|---|---|---|
| npm önbelleğini kurulu bağımlılıklardan ve proje dosyalarından ayırın | npm config get cache | npm önbelleği birden çok projenin yeniden kullandığı indirmeleri saklar ve macOS’te varsayılan olarak ~/.npm altındadır; ancak yapılandırmayla başka bir yere alınmış olabilir. |
| Etkin önbelleği ölçün ve önce doğrulayın | npm cache verify | ~/.npm klasörünün var olması, etkin önbelleğin o olduğunu kanıtlamaz. |
| npm cache clean --force komutunu bilinçli kullanın | npm cache clean --force | npm cache clean --force yalnızca ölçülen önbellek anlamlı büyüklükteyse, disk alanına şimdi ihtiyacınız varsa ve paketler sonradan yeniden indirilebiliyorsa çalıştırılmalıdır. |
| Bağımlılık grafiğini değiştirmeden sonucu doğrulayın | kurulum + çevrimdışı/özel registry denetimi | Temizlikten sonra npm config get cache ile yolu yeniden alın, aynı konumu ölçün ve macOS’in gerçekten kazandığı boş alanı karşılaştırın. |
SSS
Mac’te npm cache clean --force çalıştırmak güvenli mi?
npm gerçek önbelleğine işaret ediyorsa kaynak kod ve proje dosyaları için güvenlidir; ancak yeniden kullanılabilir indirmeleri atar. Önce ölçüp doğrulayın, çalışan npm süreçlerini durdurun ve sonraki kurulumlarda ağ gerekeceğini hesaba katın. Elle yazdığınız özyinelemeli bir silme komutu (rm -rf gibi) kullanmayın.
Önce npm cache verify mı, npm cache clean mi çalıştırmalıyım?
Her zaman önce npm cache verify çalıştırın. Geçerli önbellek içeriğini korurken bütünlüğü denetler ve gereksiz verileri temizler. clean --force yalnızca ölçülmüş bir disk alanı ihtiyacı veya doğrulanmış bir önbellek sorunu içindir.
npm önbelleğini temizlemek package-lock.json dosyasını siler mi?
Hayır. package.json ve package-lock.json proje dosyalarıdır. npm v12 npm-shrinkwrap.json dosyasını okumaz; eski bir projede yetkili kilit dosyası yalnızca buysa silmek yerine package-lock.json olarak yeniden adlandırın ve var olan bir package-lock.json dosyasının üzerine yazmayın.
Kaynaklar