Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

node_modules boyutunu analiz etmek için kullandığım du ve ncdu araçlarıyla tespit ettiğim devasa paketler

✖ Kapat
Duyuru
✖ Kapat
Duyuru

asteron

Üye
Katılım
14 Mart 2026
Mesajlar
50
Merhaba arkadaşlar, bugün başımı çok ağrıtan bir sorundan ve bu sorunu nasıl çözdüğümden bahsedeceğim. Projemin node_modules klasörü bir anda o kadar şişmişti ki, diskin neredeyse yarısını yemişti! "Bu kadar da olmaz artık" dediğim o an, bu devasa klasörün içinde hangi paketin ne kadar yer kapladığını bulmam gerekti.

🔥 Sorunun Tespiti: Disk Nerede?

İlk olarak, sorunun boyutunu anlamak için terminalde basit bir du (disk usage) komutu kullandım. Bu komut, klasörlerin diskte kapladığı alanı gösteriyor. Ancak node_modules içindeki her alt klasörü tek tek kontrol etmek çok zahmetliydi.

Bash:
du -sh node_modules/ | sort -hr | head -20

Bu komut, node_modules içindeki tüm öğelerin insanların okuyabileceği formatta (-h) toplam boyutunu (-s) gösterir, sonra da büyükten küçüğe (-r) sıralayıp en büyük 20 tanesini listeler. İlk çalıştırdığımda gözlerime inanamadım! Listede 500MB'ı geçen birden fazla paket vardı.

🔍 Detaylı Analiz: Ncdu ile Görsel Keşif

du iyi bir başlangıçtı ama daha interaktif ve hiyerarşik bir görünüm istiyordum. İşte burada ncdu (NCurses Disk Usage) imdadıma yetişti. Öncelikle sisteminize kurmanız gerekebilir.

Bash:
# macOS (Homebrew)
brew install ncdu

# Linux (APT)
sudo apt install ncdu

# Kullanımı
ncdu node_modules

ncdu'yu çalıştırdığınızda, terminalinizde harika bir arayüz açılır. Klavyenizdeki ok tuşlarıyla klasörler arasında gezinebilir, Enter ile içine girebilir ve en önemlisi, hangi alt klasörün ne kadar yer tuttuğunu anında görebilirsiniz. d tuşu ile bir dizini silmeyi bile deneyebilirsiniz (dikkatli olun!).

💡 Benim Karşıma Çıkan 'Şişman' Paketler ve Çözümüm

Analiz sonucunda, geliştirme bağımlılığı (devDependencies) olarak yüklediğim bazı paketlerin (örneğin, belirli bir webpack eklentisi ve eski bir babel polyfill paketi) aslında production'da hiç kullanılmadığını fark ettim. Ayrıca, sharp ve puppeteer gibi native bağımlılığı olan paketlerin de çok yer kapladığını gördüm.

Çözüm olarak şu adımları izledim:
1. Kullanmadığım devDependencies paketlerini kaldırdım.
2. npm ls komutu ile gereksiz yere yüklenmiş (dedepe) paketleri kontrol ettim.
3. Mümkünse, daha hafif alternatiflere geçiş yaptım.

ncdu sayesinde, 8GB'lık node_modules klasörümü 3GB'a kadar düşürmeyi başardım. Bu, özellikle CI/CD pipeline'larında ve docker imajı build ederken inanılmaz bir zaman ve kaynak tasarrufu sağladı.

Siz de projelerinizdeki node_modules şişkinliğinden şikayetçi misiniz? du veya ncdu dışında kullandığınız başka bir sihirli araç var mı? Ya da sizin karşılaştığınız en büyük "şişman paket" hangisiydi? Yorumlarda paylaşın, hep birlikte öğrenelim!
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri