AskCleanAskClean

Cara membersihkan cache npm dengan aman di Mac

Tim AskClean · Diperbarui 2026-08-05

Temukan cache aktif dengan npm config get cache, ukur persis jalur itu, lalu jalankan npm cache verify sebelum menghapus apa pun. Gunakan npm cache clean --force hanya jika Anda benar-benar membutuhkan ruang dan menerima biaya unduhan berikutnya. node_modules, package.json, dan lockfile bukan cache dan harus tetap utuh.

Blok paket mengalir melalui cache bundar dengan perisai tanda centang, sementara kotak daur ulang, folder proyek, dan buku catatan berada di luarnya
Cache npm menyimpan unduhan yang dapat dipakai ulang; manifes proyek, lockfile, dan node_modules yang terpasang berada di luar cache.

Pisahkan cache, dependensi terpasang, dan proyek

Cache npm menyimpan unduhan yang dapat dipakai ulang oleh banyak proyek dan secara bawaan berada di ~/.npm pada macOS, walau konfigurasi dapat memindahkannya. node_modules adalah struktur dependensi terpasang milik proyek. package.json dan package-lock.json adalah berkas proyek, bukan cache. npm-shrinkwrap.json juga bukan cache, tetapi npm v12 tidak lagi membacanya; bila file itu satu-satunya lockfile dan package-lock.json belum ada, ganti namanya menjadi package-lock.json karena formatnya identik. Jangan menimpa package-lock.json yang sudah ada.

Ukur cache aktif dan verifikasi lebih dulu

Jangan menganggap ~/.npm yang ada pasti merupakan cache aktif. npm config get cache menunjukkan jalur untuk konteks konfigurasi saat ini; catat npm --version, ukur jalur yang dicetak dengan du -sh, dan simpan angka ruang kosong macOS. npm cache verify memeriksa indeks dan data cache, memvalidasi integritas, serta membuang data yang tidak diperlukan tanpa menghapus unduhan valid. Untuk pemeliharaan rutin atau galat instalasi yang bukan berasal dari cache, verifikasi biasanya sudah cukup.

  1. Jalankan npm --version dan npm config get cache; pastikan hasilnya jalur cache, bukan folder proyek.
  2. Ukur persis jalur yang dicetak dengan du -sh dan catat ruang kosong macOS tanpa mengubah package.json atau lockfile.
  3. Hentikan npm install, npm ci, npm exec, dan proses penerbitan; jalankan npm cache verify serta simpan ringkasan dan galatnya.
  4. Jalankan npm cache clean --force hanya bila npm cache verify tidak cukup, ruangnya berarti, dan semua artefak yang dibutuhkan tetap tersedia.
  5. Jalankan lagi npm cache verify, ukur jalur yang sama, lalu uji proyek perwakilan beserta build dan test-nya tanpa mengubah lockfile.

Jangan pernah memasukkan jalur yang belum diperiksa ke rm -rf. Jangan pula menggabungkan pembersihan cache dengan menghapus atau membuat ulang lockfile; dua perubahan sekaligus menghilangkan perbandingan yang dibutuhkan untuk mendiagnosis galat.

Gunakan npm cache clean --force dengan sengaja

Jalankan npm cache clean --force hanya bila cache yang terukur cukup besar, ruang dibutuhkan sekarang, dan artefaknya dapat diunduh kembali. Perintah ini membersihkan cache yang dikonfigurasi—bukan node_modules, package.json, atau lockfile—dan npm akan membuat cache lagi saat dibutuhkan. Instalasi berikutnya dapat lebih lambat atau gagal saat luring. Jika cache menyimpan satu-satunya salinan lokal paket yang sudah hilang dari registry, server Git, atau sumber lain, pembersihan menghilangkan kesempatan langsung untuk memakainya; arsipkan artefak penting terlebih dahulu. Jangan menyimpan force sebagai konfigurasi npm permanen.

Verifikasi hasil tanpa mengubah dependensi

Sesudah pembersihan, tanyakan lagi jalurnya, ukur lokasi yang sama, dan bandingkan ruang kosong nyata di macOS. Jalankan satu proyek perwakilan dengan package.json serta lockfile tetap, lalu uji build dan test. Jika galat lama kembali, jangan mengulang penghapusan: ERESOLVE, kredensial, 404, proxy, sertifikat, syarat versi Node.js, build native, dan skrip siklus hidup membutuhkan diagnosis lain. AskClean mengenali ~/.npm bawaan; jalur cache khusus tetap harus diperiksa lewat npm.

Batas penghapusan dan biaya pemulihan

Temukan dan ukur cache unduhan yang benar-benar dipakai npm, verifikasi lebih dahulu, lalu bersihkan hanya bila perlu tanpa menyentuh node_modules atau berkas proyek.

Item atau tindakanTempat memeriksaKonsekuensi
Pisahkan cache, dependensi terpasang, dan proyeknpm config get cacheCache npm menyimpan unduhan yang dapat dipakai ulang oleh banyak proyek dan secara bawaan berada di ~/.npm pada macOS, walau konfigurasi dapat memindahkannya. node_modules adalah struktur dependensi terpasang milik proyek. package.json dan package-lock.json adalah berkas proyek, bukan cache. npm-shrinkwrap.json juga bukan cache, tetapi npm v12 tidak lagi membacanya; bila file itu satu-satunya lockfile dan package-lock.json belum ada, ganti namanya menjadi package-lock.json karena formatnya identik. Jangan menimpa package-lock.json yang sudah ada.
Ukur cache aktif dan verifikasi lebih dulunpm cache verifyJangan menganggap ~/.npm yang ada pasti merupakan cache aktif. npm config get cache menunjukkan jalur untuk konteks konfigurasi saat ini; catat npm --version, ukur jalur yang dicetak dengan du -sh, dan simpan angka ruang kosong macOS. npm cache verify memeriksa indeks dan data cache, memvalidasi integritas, serta membuang data yang tidak diperlukan tanpa menghapus unduhan valid. Untuk pemeliharaan rutin atau galat instalasi yang bukan berasal dari cache, verifikasi biasanya sudah cukup.
Gunakan npm cache clean --force dengan sengajanpm cache clean --forceJalankan npm cache clean --force hanya bila cache yang terukur cukup besar, ruang dibutuhkan sekarang, dan artefaknya dapat diunduh kembali. Perintah ini membersihkan cache yang dikonfigurasi—bukan node_modules, package.json, atau lockfile—dan npm akan membuat cache lagi saat dibutuhkan. Instalasi berikutnya dapat lebih lambat atau gagal saat luring. Jika cache menyimpan satu-satunya salinan lokal paket yang sudah hilang dari registry, server Git, atau sumber lain, pembersihan menghilangkan kesempatan langsung untuk memakainya; arsipkan artefak penting terlebih dahulu. Jangan menyimpan force sebagai konfigurasi npm permanen.
Verifikasi hasil tanpa mengubah dependensiinstalasi + pemeriksaan luring/registry privatSesudah pembersihan, tanyakan lagi jalurnya, ukur lokasi yang sama, dan bandingkan ruang kosong nyata di macOS. Jalankan satu proyek perwakilan dengan package.json serta lockfile tetap, lalu uji build dan test. Jika galat lama kembali, jangan mengulang penghapusan: ERESOLVE, kredensial, 404, proxy, sertifikat, syarat versi Node.js, build native, dan skrip siklus hidup membutuhkan diagnosis lain. AskClean mengenali ~/.npm bawaan; jalur cache khusus tetap harus diperiksa lewat npm.

FAQ

Apakah npm cache clean --force aman dijalankan di Mac?

Perintah itu tidak menyentuh kode sumber atau berkas proyek bila npm menunjuk cache yang benar, tetapi membuang unduhan yang dapat dipakai ulang. Ukur dan verifikasi lebih dahulu, hentikan proses aktif, dan siapkan jaringan untuk instalasi berikutnya.

Mana yang dijalankan lebih dulu: npm cache verify atau clean?

Jalankan npm cache verify lebih dulu. Perintah ini memeriksa integritas dan membuang data tak diperlukan sambil mempertahankan konten valid; clean --force hanya untuk kebutuhan ruang terukur atau masalah cache spesifik yang terkonfirmasi.

Apakah membersihkan cache npm menghapus package-lock.json?

Tidak. package.json dan package-lock.json adalah berkas proyek. npm v12 tidak lagi membaca npm-shrinkwrap.json; bila file itu satu-satunya lockfile dan package-lock.json belum ada, ganti namanya menjadi package-lock.json tanpa menimpa file lain. Jangan mengubah lockfile saat membersihkan cache.

Sumber

Panduan penyimpanan pengembang lainnya