Skip to main content

Command Palette

Search for a command to run...

Panduan Survival SSD Kecil: Menguasai Storage dan Migrasi ke PNPM

Published
4 min read
Panduan Survival SSD Kecil: Menguasai Storage dan Migrasi ke PNPM
A

I am an enthusiastic researcher and developer with a passion for using technology to innovate in business and education.

Bagi seorang developer, SSD berkapasitas 121 GB atau 128 GB adalah tantangan besar. Folder node_modules dan cache NPM seringkali menjadi "pembunuh" ruang penyimpanan secara diam-diam. Jika kamu melihat folder .npm kamu membengkak hingga belasan atau puluhan gigabyte, artikel ini adalah solusi untukmu.

1. Audit: Menemukan "Pencuri" Ruang Penyimpanan

Banyak developer tidak menyadari bahwa setiap kali menjalankan npm install, NPM tidak hanya menaruh data di proyekmu, tapi juga menyimpan salinan (cache) di folder sistem.

  • Penyebab Utama: Sub-folder _cacache di dalam folder .npm. Folder ini menyimpan setiap versi paket yang pernah kamu unduh agar bisa digunakan kembali secara offline. Masalahnya, NPM tidak pernah menghapus cache lama secara otomatis.

  • Solusi Cepat (The First Aid): Jalankan perintah ini di terminal untuk membuang sampah sejarah download:

npm cache clean --force

Perintah ini aman. NPM hanya akan mengunduh ulang paket dari internet jika dibutuhkan lagi di masa depan.


2. Strategi "Hard Cleanup" untuk Developer

Selain cache, ada area lain yang harus dibersihkan secara berkala agar SSD tetap lega:

  • Gunakan NPX NPKILL: Jangan hapus node_modules satu per satu secara manual. Gunakan tool praktis ini:
npx npkill

Tool ini akan memindai seluruh folder proyekmu dan mengizinkanmu menghapus folder node_modules yang sudah tidak terpakai hanya dengan satu tombol.

  • Bersihkan Docker: Jika kamu menggunakan Docker, image dan container lama bisa memakan tempat luar biasa. Gunakan:
docker system prune -a --volumes

3. Solusi Permanen: Migrasi ke PNPM

Jika NPM adalah penyebab pemborosan disk, maka pnpm (Performant NPM) adalah solusinya. pnpm tidak hanya lebih cepat, tapi juga jauh lebih efisien dalam penggunaan ruang penyimpanan.

Mengapa pnpm Sangat Hemat Tempat?

NPM tradisional bekerja dengan cara menyalin (copy) paket ke setiap folder proyek. Jika kamu memiliki 10 proyek React, kamu memiliki 10 salinan fisik React di SSD-mu.

pnpm menggunakan metode Content-Addressable Storage:

  1. pnpm menyimpan semua paket di satu lokasi terpusat di disk kamu (Global Store).

  2. Di dalam folder proyekmu, pnpm hanya membuat Hard Link (semacam jalan pintas cerdas) yang mengarah ke Global Store tersebut.

  3. Hasilnya: Jika kamu punya 10 proyek React, pnpm hanya memakan ruang untuk satu salinan fisik di seluruh SSD kamu.

Cara Instalasi Modern (Rekomendasi Node.js)

Sekarang, Node.js menyertakan fitur bernama Corepack untuk mengelola package manager tanpa harus mengandalkan instalasi global via npm. Ini adalah cara yang paling bersih dan profesional:

  1. Aktifkan Corepack:
corepack enable
  1. Siapkan & Aktifkan pnpm: Gunakan perintah ini untuk memasang versi pnpm terbaru secara otomatis:
corepack prepare pnpm@latest --activate

4. Hal Penting yang Perlu Diperhatikan (The "Strict" Side)

Saat pindah ke pnpm, kamu mungkin menemui beberapa perbedaan perilaku. pnpm sangat disiplin, dan ini adalah hal yang baik untuk kualitas kodemu:

A. Masalah "Phantom Dependencies" (Dependensi Hantu)

NPM memiliki struktur folder datar (flat). Jika kamu menginstal paket A yang bergantung pada paket B, kamu bisa memanggil paket B di kodemu meski tidak ada di package.json. pnpm melarang ini. Kamu hanya bisa memanggil apa yang kamu instal secara eksplisit.

  • Solusi: Jika muncul error module not found, cukup instal paket tersebut dengan pnpm add <nama-paket>.

B. Konfirmasi Peer Dependencies

pnpm sangat ketat soal versi paket yang saling membutuhkan. Jika ada ketidaksinkronan versi antar dependensi, pnpm akan memberikan peringatan atau meminta konfirmasi.

  • Solusi: Baca log terminal. Biasanya pnpm memberikan saran versi mana yang harus diinstal untuk memperbaiki konflik tersebut.

C. Konfirmasi Eksekusi Script

Demi keamanan, pnpm terkadang meminta konfirmasi saat sebuah paket ingin menjalankan script instalasi otomatis (postinstall). Jika kamu yakin paket itu aman, cukup berikan izin saat diminta di terminal.


5. Kesimpulan & Rekomendasi Akhir

Memiliki SSD kecil (121-128 GB) bukan hambatan untuk menjadi developer hebat. Kuncinya adalah manajemen yang cerdas:

  1. Hapus cache NPM secara rutin dengan npm cache clean --force.

  2. **Gunakan npkill** sebulan sekali untuk membersihkan proyek lama.

  3. Beralihlah ke pnpm menggunakan Corepack untuk penghematan ruang jangka panjang yang signifikan.

Dengan pnpm, kamu bisa memiliki puluhan proyek tanpa harus khawatir SSD "merah" setiap minggu. Selamat coding dengan storage yang lega!

Hasilnya dari yg hanya sisa 1,59 GB

menjadi sisa 21,17 GB