Bagaimana saya bisa menghapus paket Homebrew versi lama yang sudah diinstal?

Jawaban:

315

Itu membersihkan ( brew cleanup ) perintah akan menghapus versi paket yang terinstal usang. Untuk memengaruhi paket / formula tertentu, Anda dapat memberikan nama rumus seperti: brew cleanup $FORMULA. Untuk mensimulasikan pembersihan, mis. Lihat apa yang akan dihapus, Anda dapat menggunakan -n pilihan: brew cleanup -n.

aknuds1
sumber
28
Untuk catatan: brew cleanup hanya membersihkan versi paket yang ketinggalan jaman jika Anda menginstal versi terbaru, jadi pertama-tama brew upgrade kemudian brew cleanup
Jan
37
Omong kosong Itu hanya memberi saya lebih dari 3G kembali. Siapa yang tahu…
Alper
35
This operation has freed approximately 17.2GB of disk space.
fvgs
11
OH TUHAN! Saya baru saja kembali ruang lebih dari 12GB. Woo hoo!
Richard Hurt
3
Wow, senilai satu tahun upgrade tanpa cleanup menghasilkan 17.6GB perangkat lunak yang tidak digunakan untuk saya! (Periksa ini dengan brew cleanup -n, yang tidak menghapus apa pun.) Terima kasih atas jawaban ini. :)
Erik
76

@ aknuds1 benar tentang brew cleanup jadi saya hanya akan menambahkan bahwa saya memiliki alias di blog saya ~/.profile yang melakukan semua pembersihan yang berhubungan dengan minuman saya, termasuk pembaruan / pembersihan tong

alias brewski='brew update && brew upgrade && brew cleanup; brew doctor'

Saya diakhiri dengan brew doctor untuk memastikan semua paket disinkronkan dengan benar, mis., awscli tampaknya punya masalah dengan ini secara teratur jadi saya harus selalu memutuskan tautan / relink. Semoga ini membantu.


EDIT: Seperti yang ditunjukkan kepada saya dalam komentar, brew cask fungsi telah digabungkan ke dalam inti homebrew. Perintah-perintah ini juga melempar kesalahan, jadi referensi ke brew cask telah dihapus.

EDIT2: Ketika saya menjalankan ini setiap hari, saya memperhatikan komentar berikut hari ini. Saya telah memperbarui perintah yang sesuai

    Warning: We decided to not change the behaviour of `brew upgrade` so
    `brew upgrade --all` is equivalent to `brew upgrade` without any other
    arguments (so the `--all` is a no-op and can be removed).
SaxDaddy
sumber
3
Anda tidak perlu melakukannya brew upgrade brew-cask lagi seperti semula permintaan tarik ini brew update sekarang juga akan memperbarui tong kayu rumahan secara otomatis.
Lantrix
1
@Lantrix Terima kasih atas pembaruan itu. Saya telah mengedit jawaban saya untuk mencerminkan perubahan ini.
SaxDaddy
2
brew upgrade --cleanup akan menghapus paket lama saat paket baru diinstal.
Zenexer
Saya tidak menyarankan untuk menggunakan brew upgrade melainkan untuk digunakan brew outdated dan kemudian perbarui masing-masing paket dengan brew upgrade PACKAGE dengan begitu Anda memiliki lebih banyak kontrol
Pedro Luz
Sebagai brew upgrade adalah satu perintah untuk memutakhirkan semua paket, ini berfungsi dengan baik untuk otomatisasi. Secara opsional, Anda bisa pin versi paket yang ingin Anda pertahankan dan tingkatkan sisanya sekaligus.
SaxDaddy
31

Hanya untuk catatan, Anda dapat membersihkan versi paket yang sudah usang yang akan Anda tingkatkan menggunakan flag --cleanup:

brew upgrade --cleanup <package_name>

bergercookie
sumber