Homebrew-Cache auf dem Mac leeren: brew cleanup -s erklärt
AskClean-Team · Aktualisiert 2026-11-02
Führe brew cleanup -n aus, bevor du etwas änderst. Eine normale Bereinigung entfernt veraltete Sperrdateien, alte Downloads und frühere Formula-Versionen – und deinstalliert, solange HOMEBREW_NO_AUTOREMOVE nicht gesetzt ist, auch nicht mehr benötigte Abhängigkeiten. Die Option -s (--scrub) geht weiter: Sie löscht auch zwischengespeicherte Downloads der neuesten Versionen, etwa von Paketen, die du heruntergeladen, aber nie installiert oder inzwischen wieder entfernt hast. Downloads von allem, was noch installiert ist, bleiben in beiden Fällen erhalten. Den aktiven Cache-Ort zeigt dir brew --cache.

Download-Cache, alte Kegs und aktuelle Tools unterscheiden
Homebrew speichert Bottles, Quellarchive und Cask-Downloads standardmäßig unter ~/Library/Caches/Homebrew; HOMEBREW_CACHE kann den Ort ändern. Diese Downloads lassen sich normalerweise erneut laden. Installierte Formulae liegen dagegen als versionierte Kegs im Cellar, Casks im Caskroom und aktive Links unter dem Prefix. Ermittle die tatsächlichen Orte mit brew --cache, brew --cellar, brew --caskroom und brew --prefix, statt /opt/homebrew oder /usr/local einfach anzunehmen. Cellar, Caskroom, Prefix, Brewfile, Dotfiles, Dienste, Datenbanken und Projektdateien sind kein Cache, den du pauschal löschen kannst.
Mit einem Dry Run jeden Kandidaten prüfen
Miss den aktiven Cache mit du -sh "$(brew --cache)" und führe brew cleanup -n aus (-n ist gleichbedeutend mit --dry-run). Die Vorschau zeigt veraltete Downloads, alte installierte Formula-Versionen und unter „Would autoremove“ die Abhängigkeiten, die Homebrew deinstallieren würde. Gleiche bekannte Tools mit brew list --versions ab und prüfe, ob Skripte oder ein Rollback noch einen alten Keg brauchen. Die Vorschau ist keine Sicherung: Was Homebrew entfernt, landet nicht im Papierkorb, und dieselbe alte Version ist später womöglich nicht mehr verfügbar.
- Führe brew --cache aus und miss den ausgegebenen Download-Cache mit du -sh "$(brew --cache)".
- Führe brew cleanup -n aus und prüfe jeden vorgeschlagenen Download, jede alte Formula-Version und jeden Kandidaten unter „Would autoremove“.
- Gleiche benötigte aktuelle und alte Versionen mit brew list --versions ab und stelle sicher, dass Netzwerk, Proxy und Verfügbarkeit spätere Downloads erlauben.
- Nutze brew cleanup für die normale Wartung; brew cleanup -s oder brew cleanup --prune=all erst, nachdem du ihre Vorschau mit brew cleanup -n -s bzw. brew cleanup -n --prune=all geprüft hast. Setze vorher HOMEBREW_NO_AUTOREMOVE, wenn keine Abhängigkeiten automatisch deinstalliert werden sollen.
- Miss den Cache erneut, führe brew cleanup -n und brew list --versions aus und teste mindestens ein wichtiges Homebrew-Tool.
brew cleanup -n ist nur eine Vorschau. Ein entfernter alter Keg kann einen nicht dokumentierten Rollback- oder Skriptpfad brechen und lässt sich womöglich nicht exakt wiederherstellen.
Den Umfang wählen: brew cleanup, -s oder --prune=all
Nutze nach geprüfter Vorschau brew cleanup für die normale Wartung; standardmäßig gelten Downloads, die älter als 120 Tage sind, als Kandidaten. brew cleanup -s (--scrub) weitet die Bereinigung auf jüngere Downloads aus und löscht auch zwischengespeicherte Downloads der neuesten Versionen von Paketen, die nicht installiert sind, etwa weil du sie nur heruntergeladen oder inzwischen entfernt hast; Downloads noch installierter Formulae und Casks behält Homebrew. -s bedeutet weder „sicher“ noch „still“ noch „den ganzen Cache leeren“. brew cleanup --prune=all entfernt Cache-Dateien unabhängig von ihrem Alter. Prüfe die genaue Kombination immer vorab mit brew cleanup -n -s oder brew cleanup -n --prune=all und rechne damit, dass spätere Installationen Bottles, Archive und große Installer erneut laden müssen. cleanup kann außerdem alte Kegs entfernen und einen exakten Rollback erschweren.
Autoremove, Nutzerdaten und Ergebnis separat behandeln
brew autoremove ist keine Cache-Bereinigung: Der Befehl deinstalliert Formulae, die Homebrew für nicht mehr benötigte Abhängigkeiten hält – eigene Skripte können ein solches Tool trotzdem direkt aufrufen. Ein globales brew cleanup führt dieselbe Entfernung bereits aus, solange HOMEBREW_NO_AUTOREMOVE nicht gesetzt ist; setze die Variable vorher, wenn Abhängigkeiten installiert bleiben sollen, und prüfe brew autoremove gegebenenfalls separat mit --dry-run. Lösche weder Prefix, Cellar, Caskroom noch deine Konfiguration von Hand – und auch nicht den ganzen Ordner ~/Library/Caches, nur um an den Homebrew-Cache zu kommen. Miss nach cleanup den Cache erneut, führe brew cleanup -n und brew list --versions aus und starte wichtige Befehle. AskClean kann den Homebrew-Cache als einen Eintrag sichtbar machen und löscht ihn nach deiner Freigabe endgültig; alte Kegs im Cellar bereinigt es nicht – für paketgenaue Entscheidungen bleibt Homebrews Dry Run maßgeblich.
Löschgrenzen und Wiederherstellungskosten
Was brew cleanup -s (--scrub) löscht, wie du die Homebrew-Bereinigung vorab prüfst, alte Downloads und Versionen entfernst und aktuelle Tools schützt.
| Schritt | Prüfen unter oder mit | Was du wissen musst |
|---|---|---|
| Download-Cache, alte Kegs und aktuelle Tools unterscheiden | brew --cache | Homebrew speichert Bottles, Quellarchive und Cask-Downloads standardmäßig unter ~/Library/Caches/Homebrew; HOMEBREW_CACHE kann den Ort ändern. |
| Mit einem Dry Run jeden Kandidaten prüfen | brew cleanup -n | Miss den aktiven Cache mit du -sh "$(brew --cache)" und führe brew cleanup -n aus (-n ist gleichbedeutend mit --dry-run). |
| Den Umfang wählen: brew cleanup, -s oder --prune=all | brew cleanup / brew cleanup -s / brew cleanup --prune=all | Nutze nach geprüfter Vorschau brew cleanup für die normale Wartung; standardmäßig gelten Downloads, die älter als 120 Tage sind, als Kandidaten. |
| Autoremove, Nutzerdaten und Ergebnis separat behandeln | brew autoremove --dry-run (keine Cache-Bereinigung) | brew autoremove ist keine Cache-Bereinigung: Der Befehl deinstalliert Formulae, die Homebrew für nicht mehr benötigte Abhängigkeiten hält – eigene Skripte können ein solches Tool trotzdem direkt aufrufen. |
FAQ
Was bedeutet brew cleanup -s?
-s steht für --scrub. Damit löscht cleanup auch zwischengespeicherte Downloads der neuesten Versionen – von Paketen, die nicht installiert sind, etwa weil du sie heruntergeladen, aber nie installiert oder inzwischen entfernt hast. Downloads von Formulae und Casks, die du noch installiert hast, bleiben erhalten. Prüfe die tatsächlichen Kandidaten vorher mit brew cleanup -n -s.
Ist brew cleanup auf dem Mac sicher?
Es ist ein unterstützter Homebrew-Befehl, entfernt aber neben veralteten Downloads auch alte Versionen installierter Formulae und – solange HOMEBREW_NO_AUTOREMOVE nicht gesetzt ist – nicht mehr benötigte Abhängigkeiten. Prüfe deshalb immer zuerst brew cleanup -n und vergewissere dich, dass kein Ablauf an einem alten Keg oder einer aufgeführten Abhängigkeit hängt.
Was entfernt brew cleanup --prune=all?
Es wendet cleanup mit einer Cache-Richtlinie ohne Altersgrenze an; dazu kommen veraltete Sperrdateien und alte Formula-Versionen. Die genaue Liste siehst du mit brew cleanup -n --prune=all. Rechne damit, dass spätere Installationen Artefakte erneut laden müssen.
Quellen