AskCleanAskClean

Cara membersihkan cache npm pada Mac dengan selamat

Pasukan AskClean · Dikemas kini 2026-08-05

Cari cache aktif dengan npm config get cache, ukur laluan tepat itu, kemudian jalankan npm cache verify sebelum memadam apa-apa. Gunakan npm cache clean --force hanya apabila anda benar-benar memerlukan ruang dan menerima kos muat turun pada masa hadapan. node_modules, package.json dan lockfile bukan cache dan mesti kekal utuh.

Blok pakej mengalir melalui gelang cache dengan perisai pengesahan, sementara bekas kitar semula dan fail projek kekal berasingan
Cache npm menyimpan muat turun yang boleh digunakan semula; fail projek, lockfile dan node_modules yang dipasang berada di luar cache.

Asingkan cache, kebergantungan dipasang dan projek

Cache npm menyimpan muat turun yang boleh digunakan semula oleh banyak projek dan secara lalai berada di ~/.npm pada macOS, walaupun konfigurasi boleh memindahkannya. node_modules ialah pepohon kebergantungan yang dipasang untuk projek. package.json dan package-lock.json ialah fail projek, bukan cache. npm-shrinkwrap.json juga bukan cache, tetapi npm v12 tidak lagi membacanya; projek lama mesti menamakan semula fail yang berformat sama itu sebagai package-lock.json sebelum pemasangan semula dengan npm v12.

Ukur cache aktif dan sahkan terlebih dahulu

Jangan anggap ~/.npm yang wujud semestinya cache aktif. npm config get cache menunjukkan laluan mengikut tetapan semasa; catat npm --version, ukur laluan yang dicetak dengan du -sh dan rekod ruang kosong macOS. npm cache verify menyemak indeks serta data, mengesahkan integriti dan menyingkirkan data yang tidak diperlukan tanpa membuang semua muat turun yang sah. Untuk penyelenggaraan rutin atau ralat pemasangan yang bukan berpunca daripada cache, pengesahan biasanya sudah memadai.

  1. Jalankan npm --version dan npm config get cache; pastikan hasilnya ialah laluan cache, bukan folder projek.
  2. Ukur laluan tepat 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 ralatnya.
  4. Jalankan npm cache clean --force hanya jika npm cache verify tidak mencukupi, ruangnya bermakna dan semua artifak yang diperlukan masih tersedia.
  5. Jalankan npm cache verify sekali lagi, ukur laluan yang sama, kemudian jalankan perintah binaan dan ujian bagi projek wakil tanpa mengubah lockfile.

Jangan sekali-kali masukkan laluan yang belum disahkan ke dalam rm -rf. Jangan juga gabungkan pembersihan cache dengan pemadaman atau penciptaan semula lockfile; dua perubahan serentak menghapuskan perbandingan yang diperlukan untuk mendiagnosis ralat.

Gunakan npm cache clean --force dengan sengaja

Jalankan npm cache clean --force hanya apabila cache yang diukur memang besar, ruang diperlukan sekarang dan artifak boleh dimuat turun semula. Perintah ini membersihkan cache yang dikonfigurasi—bukan node_modules, package.json atau lockfile—dan npm akan mencipta semula cache apabila perlu. Pemasangan seterusnya mungkin lebih perlahan atau gagal ketika luar talian; registry persendirian, pelayan Git, proksi, kelayakan serta pakej yang telah ditarik balik meningkatkan kos pemulihan. Jangan simpan force sebagai konfigurasi npm kekal.

Sahkan hasil tanpa mengubah kebergantungan

Selepas pembersihan, dapatkan semula laluan cache, ukur lokasi yang sama dan bandingkan ruang kosong sebenar pada macOS. Jalankan satu projek wakil dengan package.json serta lockfile tidak berubah, kemudian jalankan perintah binaan dan ujian. Jika ralat lama berulang, jangan ulang pemadaman: ERESOLVE, kelayakan akses, 404, proksi, sijil, keperluan versi Node.js, binaan natif dan skrip kitar hayat memerlukan diagnosis lain. AskClean mengenali ~/.npm lalai; laluan cache tersuai masih perlu disemak melalui npm.

Sempadan pemadaman dan kos pemulihan

Cari dan ukur cache muat turun yang benar-benar digunakan oleh npm, sahkan dahulu dan bersihkan hanya apabila perlu tanpa menyentuh node_modules atau fail projek.

Item atau tindakanTempat untuk menyemakAkibat
Asingkan cache, kebergantungan dipasang dan projeknpm config get cacheCache npm menyimpan muat turun yang boleh digunakan semula oleh banyak projek dan secara lalai berada di ~/.npm pada macOS, walaupun konfigurasi boleh memindahkannya. node_modules ialah pepohon kebergantungan yang dipasang untuk projek. package.json dan package-lock.json ialah fail projek, bukan cache. npm-shrinkwrap.json juga bukan cache, tetapi npm v12 tidak lagi membacanya; projek lama mesti menamakan semula fail yang berformat sama itu sebagai package-lock.json sebelum pemasangan semula dengan npm v12.
Ukur cache aktif dan sahkan terlebih dahulunpm cache verifyJangan anggap ~/.npm yang wujud semestinya cache aktif. npm config get cache menunjukkan laluan mengikut tetapan semasa; catat npm --version, ukur laluan yang dicetak dengan du -sh dan rekod ruang kosong macOS. npm cache verify menyemak indeks serta data, mengesahkan integriti dan menyingkirkan data yang tidak diperlukan tanpa membuang semua muat turun yang sah. Untuk penyelenggaraan rutin atau ralat pemasangan yang bukan berpunca daripada cache, pengesahan biasanya sudah memadai.
Gunakan npm cache clean --force dengan sengajanpm cache clean --forceJalankan npm cache clean --force hanya apabila cache yang diukur memang besar, ruang diperlukan sekarang dan artifak boleh dimuat turun semula. Perintah ini membersihkan cache yang dikonfigurasi—bukan node_modules, package.json atau lockfile—dan npm akan mencipta semula cache apabila perlu. Pemasangan seterusnya mungkin lebih perlahan atau gagal ketika luar talian; registry persendirian, pelayan Git, proksi, kelayakan serta pakej yang telah ditarik balik meningkatkan kos pemulihan. Jangan simpan force sebagai konfigurasi npm kekal.
Sahkan hasil tanpa mengubah kebergantunganpemasangan + semakan luar talian/registry persendirianSelepas pembersihan, dapatkan semula laluan cache, ukur lokasi yang sama dan bandingkan ruang kosong sebenar pada macOS. Jalankan satu projek wakil dengan package.json serta lockfile tidak berubah, kemudian jalankan perintah binaan dan ujian. Jika ralat lama berulang, jangan ulang pemadaman: ERESOLVE, kelayakan akses, 404, proksi, sijil, keperluan versi Node.js, binaan natif dan skrip kitar hayat memerlukan diagnosis lain. AskClean mengenali ~/.npm lalai; laluan cache tersuai masih perlu disemak melalui npm.

Soalan Lazim

Adakah npm cache clean --force selamat dijalankan pada Mac?

Perintah itu tidak menyentuh kod sumber atau fail projek jika npm menunjuk ke cache yang betul, tetapi ia membuang muat turun yang boleh digunakan semula. Ukur dan sahkan dahulu, hentikan proses aktif dan sediakan rangkaian untuk pemasangan seterusnya.

Yang mana perlu dijalankan dahulu: npm cache verify atau clean?

Jalankan npm cache verify dahulu. Perintah ini menyemak integriti dan membuang data yang tidak diperlukan sambil mengekalkan kandungan sah; npm cache clean --force hanya untuk keperluan ruang yang telah diukur atau masalah cache khusus yang disahkan.

Adakah membersihkan cache npm memadam package-lock.json?

Tidak. package.json dan package-lock.json ialah fail projek. npm v12 tidak lagi membaca npm-shrinkwrap.json, jadi projek lama mesti menamakannya semula sebagai package-lock.json, bukannya memadamkannya semasa membersihkan cache.

Sumber

Panduan storan pembangun yang lain