Cara memadam node_modules pada Mac tanpa kehilangan projek
Pasukan AskClean · Dikemas kini 2026-08-05
Anda boleh memadam node_modules apabila package.json, lockfile yang betul dan semua sumber kebergantungan masih tersedia. Ukur setiap projek dahulu, hentikan proses aktif dan pindahkan hanya folder kebergantungan yang telah disemak ke Tong Sampah. Pasang semula dengan pengurus pakej yang sama, kemudian sahkan binaan, ujian dan aplikasi sebelum mengosongkan Tong Sampah.

Bezakan node_modules daripada projek dan cache
node_modules ialah pepohon kebergantungan yang dipasang untuk satu projek dan hanya boleh dibina semula jika semua inputnya masih ada. Selepas folder ini dipadam, projek tidak boleh dijalankan atau dibina sehingga pemasangan selesai. package.json, lockfile, kod sumber, konfigurasi, tampalan, fail ruang kerja dan sejarah Git ialah resipi pembinaan semula—jangan padam. Cache muat turun bersama npm, biasanya di ~/.npm, ialah kategori storan lain dengan skop dan kos pemulihan yang berbeza.
Pastikan kebergantungan benar-benar boleh dibina semula
Lockfile menjadikan pemasangan lebih mudah diramal, tetapi bukan salinan pakej. Kenal pasti pengurus pakej dan versinya, kemudian simpan package-lock.json, pnpm-lock.yaml, yarn.lock, bun.lock atau bun.lockb yang digunakan oleh repositori. npm v12 tidak lagi membaca npm-shrinkwrap.json; projek lama mesti menamakan semula fail yang berformat sama itu sebagai package-lock.json sebelum bergantung pada npm v12. Sahkan juga akses kepada registry persendirian, VPN, kebergantungan Git dan file:, ruang kerja setempat, muat turun luaran serta rangkaian alat binaan natif. Perubahan yang hanya wujud dalam node_modules akan hilang secara kekal.
- Dari akar projek, jalankan pwd dan du -sh ./node_modules; catat juga ruang kosong macOS.
- Semak package.json, lockfile yang betul, konfigurasi ruang kerja dan perubahan setempat; untuk projek lama, namakan semula npm-shrinkwrap.json sebagai package-lock.json sebelum menggunakan npm v12.
- Pastikan registry persendirian, kebergantungan Git dan file:, pakej setempat, muat turun luaran serta alat binaan boleh dicapai; hentikan semua proses yang menggunakan node_modules.
- Pindahkan hanya node_modules yang telah disahkan ke Tong Sampah, kemudian pasang semula dari akar yang betul menggunakan pengurus pakej dan aliran kerja lockfile repositori.
- Jalankan perintah binaan, ujian, lint dan pelancaran aplikasi; ukur semula ruang, kemudian kosongkan Tong Sampah hanya selepas semuanya lulus.
Jangan jadikan node_modules satu-satunya salinan pakej atau pembaikan manual. Jika versi kebergantungan yang tepat tidak lagi boleh diperoleh dan sumbernya tidak disimpan di tempat lain, pemadaman boleh menyebabkan projek lama tidak dapat dipulihkan.
Padam satu folder kebergantungan yang telah disahkan
Dalam projek yang telah disahkan, pindahkan hanya node_modules ke Tong Sampah melalui Finder—bukan repositori induknya. rm -rf ./node_modules melangkaui Tong Sampah dan tidak boleh dipulihkan melaluinya; sahkan akar projek dengan pwd sebelum mempertimbangkan perintah itu. Jangan bina perintah pemadaman daripada output find yang belum disemak, kad bebas, pemboleh ubah kosong atau laluan daripada skrip yang tidak dipercayai. Pasang semula dari akar yang betul dengan npm ci jika package-lock.json ialah rujukan, atau gunakan pnpm install --frozen-lockfile, yarn install --immutable, yarn install --frozen-lockfile bagi Yarn Classic, atau bun install --frozen-lockfile mengikut arahan repositori. Kendalikan monorepo sebagai satu sistem yang dikawal oleh lockfile akar.
Pasang semula dan sahkan seluruh projek
Pemasangan yang selesai belum membuktikan bahawa projek telah pulih sepenuhnya. Jalankan perintah binaan, ujian, lint dan pelancaran yang didokumenkan; modul natif dan skrip kitar hayat masih boleh gagal selepas perubahan Node.js, macOS atau rangkaian alat binaan. Pemulihan memerlukan muat turun, pengekstrakan fail, penciptaan pautan dan mungkin kompilasi. Jika gagal, pulihkan folder daripada Tong Sampah jika masih ada, simpan log ralat, kemudian semak kelayakan akses, rangkaian, versi dan lockfile sebelum membersihkan projek lain.
Sempadan pemadaman dan kos pemulihan
Cari folder node_modules yang besar, lindungi kod sumber dan lockfile, padam kebergantungan mengikut projek dan pasang semula dengan selamat menggunakan npm, pnpm, Yarn atau Bun.
| Item atau tindakan | Tempat untuk menyemak | Akibat |
|---|---|---|
| Bezakan node_modules daripada projek dan cache | <project>/node_modules | node_modules ialah pepohon kebergantungan yang dipasang untuk satu projek dan hanya boleh dibina semula jika semua inputnya masih ada. Selepas folder ini dipadam, projek tidak boleh dijalankan atau dibina sehingga pemasangan selesai. package.json, lockfile, kod sumber, konfigurasi, tampalan, fail ruang kerja dan sejarah Git ialah resipi pembinaan semula—jangan padam. Cache muat turun bersama npm, biasanya di ~/.npm, ialah kategori storan lain dengan skop dan kos pemulihan yang berbeza. |
| Pastikan kebergantungan benar-benar boleh dibina semula | package.json + lockfile + konfigurasi ruang kerja | Lockfile menjadikan pemasangan lebih mudah diramal, tetapi bukan salinan pakej. Kenal pasti pengurus pakej dan versinya, kemudian simpan package-lock.json, pnpm-lock.yaml, yarn.lock, bun.lock atau bun.lockb yang digunakan oleh repositori. npm v12 tidak lagi membaca npm-shrinkwrap.json; projek lama mesti menamakan semula fail yang berformat sama itu sebagai package-lock.json sebelum bergantung pada npm v12. Sahkan juga akses kepada registry persendirian, VPN, kebergantungan Git dan file:, ruang kerja setempat, muat turun luaran serta rangkaian alat binaan natif. Perubahan yang hanya wujud dalam node_modules akan hilang secara kekal. |
| Padam satu folder kebergantungan yang telah disahkan | Tong Sampah / pemasangan semula pengurus pakej | Dalam projek yang telah disahkan, pindahkan hanya node_modules ke Tong Sampah melalui Finder—bukan repositori induknya. rm -rf ./node_modules melangkaui Tong Sampah dan tidak boleh dipulihkan melaluinya; sahkan akar projek dengan pwd sebelum mempertimbangkan perintah itu. Jangan bina perintah pemadaman daripada output find yang belum disemak, kad bebas, pemboleh ubah kosong atau laluan daripada skrip yang tidak dipercayai. Pasang semula dari akar yang betul dengan npm ci jika package-lock.json ialah rujukan, atau gunakan pnpm install --frozen-lockfile, yarn install --immutable, yarn install --frozen-lockfile bagi Yarn Classic, atau bun install --frozen-lockfile mengikut arahan repositori. Kendalikan monorepo sebagai satu sistem yang dikawal oleh lockfile akar. |
| Pasang semula dan sahkan seluruh projek | binaan + ujian + pelancaran aplikasi | Pemasangan yang selesai belum membuktikan bahawa projek telah pulih sepenuhnya. Jalankan perintah binaan, ujian, lint dan pelancaran yang didokumenkan; modul natif dan skrip kitar hayat masih boleh gagal selepas perubahan Node.js, macOS atau rangkaian alat binaan. Pemulihan memerlukan muat turun, pengekstrakan fail, penciptaan pautan dan mungkin kompilasi. Jika gagal, pulihkan folder daripada Tong Sampah jika masih ada, simpan log ralat, kemudian semak kelayakan akses, rangkaian, versi dan lockfile sebelum membersihkan projek lain. |
Soalan Lazim
Adakah selamat untuk memadam node_modules pada Mac?
Biasanya selamat jika package.json, lockfile yang betul, fail ruang kerja, kod sumber dan semua sumber kebergantungan masih tersedia. Projek tidak akan berjalan sehingga pemasangan semula selesai dan semua semakan lulus.
Perlukah package-lock.json dipadam bersama-sama?
Tidak. package-lock.json ialah input untuk pemasangan npm yang boleh diulang. npm v12 tidak lagi membaca npm-shrinkwrap.json, jadi projek lama mesti menamakan semula fail yang berformat sama itu sebagai package-lock.json, bukannya memadamkannya.
Adakah node_modules sama dengan cache npm?
Tidak. node_modules ialah kebergantungan yang dipasang untuk satu projek; cache bersama npm biasanya berada di ~/.npm. Memadam salah satu daripadanya tidak memadam yang satu lagi.
Sumber