AskClean

brew cleanup -s: cara mengosongkan cache Homebrew pada Mac

Pasukan AskClean · Dikemas kini 2026-11-02

Jalankan brew cleanup -n sebelum mengubah apa-apa. Pembersihan biasa membuang fail kunci (lock) yang lapuk, muat turun usang dan versi formula lama. Pilihan -s atau --scrub pergi lebih jauh: ia turut memadam muat turun versi terkini dalam cache, contohnya pakej yang pernah anda ambil tetapi tidak pernah dipasang atau yang telah dibuang. Muat turun bagi apa-apa yang masih dipasang tetap dikekalkan dalam kedua-dua keadaan. Gunakan brew --cache untuk mengesahkan lokasi cache yang aktif.

Rak bercahaya berisi botol dan kotak Homebrew, dengan beberapa botol dialihkan ke dalam bekas kitar semula
Storan Homebrew mempunyai kos pemulihan yang berbeza: pratonton muat turun dan versi lama, tetapi lindungi alat dan konfigurasi semasa.

Bezakan muat turun, keg lama dan alat aktif

Homebrew biasanya menyimpan bottle (pakej binari), arkib sumber dan muat turun cask di ~/Library/Caches/Homebrew; HOMEBREW_CACHE boleh mengubah laluannya. Formula yang dipasang disimpan sebagai keg mengikut versi dalam Cellar, cask dalam Caskroom, dan versi aktif dipautkan di bawah awalan (prefix). Cari lokasi sebenar dengan brew --cache, brew --cellar, brew --caskroom dan brew --prefix. Cellar, Caskroom, awalan, Brewfile, dotfile, perkhidmatan, pangkalan data, sijil serta projek bukan cache untuk dipadam secara pukal.

Pratonton dan semak setiap calon

Ukur cache aktif dengan du -sh "$(brew --cache)", kemudian jalankan brew cleanup -n. Pratonton ini menunjukkan muat turun lapuk, versi lama formula yang dipasang dan formula yang akan dinyahpasang di bawah “Would autoremove”. Padankan alat penting dengan brew list --versions dan semak sama ada skrip atau pelan pemulihan versi masih memerlukan keg lama. Pratonton bukan sandaran: item yang benar-benar dibersihkan tidak masuk ke Sampah, dan versi tepatnya mungkin tidak lagi tersedia daripada sumber huluan.

  1. Jalankan brew --cache, kemudian ukur laluan cache muat turun dengan du -sh "$(brew --cache)".
  2. Jalankan brew cleanup -n dan semak setiap muat turun, versi formula lama dan calon autoremove yang dicadangkan.
  3. Padankan versi yang diperlukan dengan brew list --versions; pastikan rangkaian, proksi, kelayakan dan sumber huluan tersedia untuk muat turun seterusnya.
  4. Gunakan brew cleanup untuk penyelenggaraan biasa; bagi skop yang lebih luas, pratonton dahulu dengan brew cleanup -n -s atau brew cleanup -n --prune=all, kemudian jalankan perintah yang sama tanpa -n hanya selepas menerima akibatnya.
  5. Ukur semula cache, jalankan brew cleanup -n dan brew list --versions, kemudian uji sekurang-kurangnya satu alat penting yang dipasang melalui Homebrew.

brew cleanup -n hanyalah pratonton, bukan sandaran, dan -s bermaksud --scrub — bukan “safe” atau “buang semua cache”. Membuang keg lama boleh menjejaskan pelan pemulihan versi atau laluan skrip yang tidak didokumenkan, dan versi tepat itu mungkin tidak dapat dipulihkan.

Pilih perintah brew cleanup dengan skop paling kecil

Selepas membaca pratonton, gunakan brew cleanup untuk penyelenggaraan biasa; dasar lalainya menjadikan muat turun yang berusia lebih daripada 120 hari sebagai calon pembersihan. brew cleanup -s (--scrub) meluaskan pembersihan kepada muat turun versi terkini bagi pakej yang tidak dipasang (yang pernah diambil tetapi tidak dipasang, atau yang telah dibuang) tetapi masih mengekalkan muat turun bagi formula dan cask yang masih dipasang, manakala brew cleanup --prune=all membuang fail cache tanpa mengira usia. Kedua-dua pilihan meluaskan hasil dengan cara yang berbeza, jadi pratonton gabungan yang tepat dahulu dengan brew cleanup -n -s atau brew cleanup -n --prune=all, dan jalankannya hanya jika kos muat turun semula boleh diterima. brew cleanup tidak menyahpasang versi semasa pakej yang anda pasang sendiri, tetapi boleh membuang keg lama sehingga kembali kepada versi tepat menjadi sukar atau mustahil.

Asingkan autoremove, data pengguna dan pengesahan

brew autoremove bukan pembersihan cache: perintah itu menyahpasang formula yang dipasang sebagai kebergantungan dan kini dianggap tidak lagi diperlukan oleh Homebrew. brew cleanup yang dijalankan secara global turut melakukan pembuangan yang sama kecuali HOMEBREW_NO_AUTOREMOVE ditetapkan; tetapkan pemboleh ubah itu dahulu jika anda mahu kebergantungan kekal dipasang. Jika perlu, pratonton secara berasingan dengan brew autoremove --dry-run kerana skrip setempat mungkin menggunakan alat di luar graf kebergantungan. Selepas brew cleanup, ukur semula dengan du -sh "$(brew --cache)", jalankan brew cleanup -n dan brew list --versions, kemudian uji perintah penting. AskClean boleh menunjukkan seluruh cache Homebrew sebagai satu item untuk disemak dan memadamnya secara kekal jika anda meluluskannya, tetapi tidak membersihkan keg lama dalam Cellar; keputusan bagi setiap pakej dan keg tetap berpandukan pratonton Homebrew.

Sempadan pemadaman dan kos pemulihan

Fahami brew cleanup -s (--scrub), pratonton perubahan cache Homebrew, buang muat turun dan versi formula lama, serta lindungi alat dan konfigurasi semasa.

Item atau tindakanTempat menyemakAkibat
Bezakan muat turun, keg lama dan alat aktifbrew --cacheHomebrew biasanya menyimpan bottle (pakej binari), arkib sumber dan muat turun cask di ~/Library/Caches/Homebrew; HOMEBREW_CACHE boleh mengubah laluannya.
Pratonton dan semak setiap calonbrew cleanup -nUkur cache aktif dengan du -sh "$(brew --cache)", kemudian jalankan brew cleanup -n.
Pilih perintah brew cleanup dengan skop paling kecilbrew cleanup / brew cleanup -s / brew cleanup --prune=allSelepas membaca pratonton, gunakan brew cleanup untuk penyelenggaraan biasa; dasar lalainya menjadikan muat turun yang berusia lebih daripada 120 hari sebagai calon pembersihan.
Asingkan autoremove, data pengguna dan pengesahanbrew autoremove --dry-run (bukan pembersihan cache)brew autoremove bukan pembersihan cache: perintah itu menyahpasang formula yang dipasang sebagai kebergantungan dan kini dianggap tidak lagi diperlukan oleh Homebrew.

Soalan lazim

Adakah brew cleanup selamat dijalankan pada Mac?

Ini perintah penyelenggaraan rasmi Homebrew, tetapi pratonton dahulu dengan brew cleanup -n. Selain muat turun usang, ia membuang versi lama formula yang dipasang dan, kecuali HOMEBREW_NO_AUTOREMOVE ditetapkan, kebergantungan yang tidak lagi diperlukan; pastikan tiada aliran kerja yang bergantung pada keg lama atau kebergantungan yang disenaraikan.

Apakah maksud brew cleanup -s, dan apakah perbezaannya dengan --prune=all?

Pilihan -s ialah --scrub: ia turut membersihkan muat turun versi terkini dalam cache bagi pakej yang tidak dipasang, contohnya yang pernah anda ambil tetapi tidak pernah dipasang atau yang telah dibuang. Muat turun bagi formula dan cask yang masih dipasang tetap dikekalkan. --prune=all pula membuang fail cache tanpa mengira usia. Pratonton calon sebenar dengan brew cleanup -n -s atau brew cleanup -n --prune=all sebelum menjalankannya.

Perlukah brew autoremove dijalankan selepas brew cleanup?

Biasanya tidak perlu: kecuali HOMEBREW_NO_AUTOREMOVE ditetapkan, brew cleanup global sudah melakukan pembuangan yang sama. Jika anda menjalankannya secara berasingan, mulakan dengan brew autoremove --dry-run; autoremove menyahpasang formula kebergantungan dan bukan pembersihan cache.

Sumber

Panduan storan pembangun yang lain