Wie kann ich veraltete installierte Versionen von Homebrew-Paketen entfernen?

Antworten:

333

Mit dem Befehl cleanup ( brew cleanup) werden veraltete installierte Paketversionen entfernt. Um ein bestimmtes Paket / Formel zu beeinflussen, können Sie eine Formel Namen wie so liefern: brew cleanup $FORMULA. Zur Simulation Bereinigung, also sehen , was entfernt werden würde, können Sie die Verwendung -nOption: brew cleanup -n.

aknuds1
quelle
31
Für das Protokoll: brew cleanupreinigt nur Paketversionen veraltet , wenn Sie die neueste Version installiert haben, so erste brew upgradedannbrew cleanup
Jan
38
Heiliger Strohsack. Das gab mir nur mehr als 3G zurück. Wer wusste ...
Alper
38
This operation has freed approximately 17.2GB of disk space.
fvgs
11
OH MEIN GOTT! Ich habe gerade mehr als 12 GB Speicherplatz zurückbekommen. WooHoo!
Richard Hurt
3
Wow, ein Jahr upgradeohne hat cleanupfür mich 17,6 GB unbenutzte Software ergeben! (Überprüfe dies mit brew cleanup -n, was nichts löscht.) Danke für diese Antwort. :)
Erik
80

@ aknuds1 hat recht, brew cleanupdaher möchte ich nur hinzufügen, dass ich einen Alias ​​in meinem habe ~/.profile, der alle meine Bereinigungen im Zusammenhang mit dem Brauen ausführt, einschließlich Fassaktualisierung / Bereinigung

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

Ich brew doctorbeende mich damit , um sicherzustellen, dass alle Pakete korrekt verlinkt sind, z. B. awsclischeint es ein Problem damit zu geben, so dass ich ständig die Verknüpfung aufheben / neu verknüpfen muss. Hoffe das hilft.


EDIT: Wie ich in den Kommentaren darauf hingewiesen habe, wurde die brew caskFunktionalität in den Homebrew-Kern integriert. Diese Befehle haben auch Fehler ausgelöst, sodass Verweise brew caskgelöscht wurden.

EDIT2: Als ich dies täglich laufe, habe ich heute folgenden Kommentar bemerkt. Ich habe den Befehl entsprechend aktualisiert

    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
quelle
3
Sie brauchen das nicht brew upgrade brew-caskmehr zu tun, da diese Pull-Anfrage brew update nun auch automatisch das Homebrew-Fass aktualisiert.
Lantrix
1
@Lantrix Danke für das Update. Ich habe meine Antwort bearbeitet, um diese Änderung widerzuspiegeln.
SaxDaddy
2
brew upgrade --cleanupEntfernt alte Pakete, wenn neue Pakete installiert werden.
Zenexer
Ich rate nicht zu verwenden, brew upgradesondern zu verwenden brew outdatedund dann jedes der Pakete zu aktualisieren brew upgrade PACKAGE, so dass Sie mehr Kontrolle haben
Pedro Luz
Da brew upgradees sich um einen einzelnen Befehl zum Aktualisieren aller Pakete handelt, eignet er sich gut für die Automatisierung. Optional können Sie pinVersionen, die Sie behalten möchten, packen und den Rest auf einmal aktualisieren.
SaxDaddy
34

Nur für die Datensätze können Sie die veralteten Versionen der Pakete, für die Sie ein Upgrade durchführen möchten, mithilfe des Flags --cleanup bereinigen:

brew upgrade --cleanup <package_name>

bergercookie
quelle