De Homebrew-cache en oude versies op je Mac opruimen
AskClean-team · Bijgewerkt 2026-11-02
Vind de downloadcache met brew --cache en bekijk vóór wijzigingen een proefdraai. Een normale brew cleanup verwijdert verouderde downloads, oude locks en eerdere formuleversies; brew cleanup --prune=all verwijdert cachebestanden ongeacht hun leeftijd. Huidige Homebrew-versies kunnen bij cleanup ook ongebruikte afhankelijkheidsformules automatisch verwijderen. Gebruik HOMEBREW_NO_AUTOREMOVE=1 als je cleanup en autoremove afzonderlijk wilt beoordelen.

Onderscheid downloadcache, oude kegs en huidige tools
Homebrew bewaart bottles, bronarchieven en cask-downloads standaard onder ~/Library/Caches/Homebrew; HOMEBREW_CACHE kan die locatie wijzigen. Geïnstalleerde formules staan als kegs in de Cellar, casks in de Caskroom en actieve links onder de prefix. Vind de echte locaties met brew --cache, brew --cellar, brew --caskroom en brew --prefix. Cellar, Caskroom, prefix, Brewfile, dotfiles, services, databases en projectbestanden zijn geen algemene wegwerpcache.
Controleer elke kandidaat met een proefdraai
Meet de actieve cache met du -sh "$(brew --cache)" en voer HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n uit als je alleen cleanup wilt beoordelen. De proefdraai toont zowel verouderde downloads als oude geïnstalleerde formuleversies. Vergelijk bekende tools met brew list --versions en controleer of scripts of een rollback nog een oude keg nodig hebben. Een proefdraai is geen back-up: reken er niet op dat verwijderde bestanden na de echte opruiming in de Prullenmand belanden of dat exact dezelfde oude versie later nog te downloaden is.
- Voer brew --cache uit en meet de getoonde downloadcache met du -sh "$(brew --cache)".
- Voer HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n uit en controleer elke voorgestelde download en oude formuleversie.
- Vergelijk benodigde huidige en oude versies met brew list --versions en controleer netwerk, proxy en beschikbaarheid voor latere downloads.
- Gebruik HOMEBREW_NO_AUTOREMOVE=1 brew cleanup voor normaal onderhoud, of voer na dezelfde proefdraai met --prune=all bewust de echte opdracht uit voor een cacheopruiming zonder leeftijdsgrens.
- Meet de cache opnieuw, herhaal de proefdraai, voer brew list --versions uit en test minstens één belangrijke Homebrew-tool; beoordeel autoremove desgewenst apart met brew autoremove --dry-run.
brew cleanup -n is alleen een voorvertoning. Een verwijderde oude keg kan een ongedocumenteerde rollback- of scriptworkflow breken en is mogelijk niet exact te herstellen.
Kies het kleinste passende cleanup-commando
Gebruik na controle HOMEBREW_NO_AUTOREMOVE=1 brew cleanup voor normaal, leeftijdsgebonden onderhoud zonder automatische de-installatie van ongebruikte afhankelijkheden. Moet werkelijk ieder cachebestand weg, ongeacht de leeftijd, controleer dan eerst HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all en voer pas daarna dezelfde opdracht zonder -n uit. brew cleanup -s (--scrub) verbreedt de opruiming op een andere manier: het verwijdert ook gecachete downloads van de nieuwste versies van pakketten die niet geïnstalleerd zijn, zoals pakketten die je wel hebt gedownload maar nooit geïnstalleerd, of die je inmiddels hebt verwijderd. Downloads van alles wat nog geïnstalleerd is, blijven bewaard; bekijk ook dat eerst met -n. Latere installaties, herinstallaties en builds uit broncode moeten bottles, archieven en grote installers opnieuw downloaden. cleanup kan oude kegs verwijderen en daardoor een exacte rollback onmogelijk maken.
Behandel autoremove, gebruikersgegevens en controle afzonderlijk
brew autoremove is inhoudelijk geen cacheopruiming: het de-installeert formules die Homebrew als overbodige afhankelijkheid ziet. Huidige versies van brew cleanup kunnen autoremove echter automatisch aanroepen, tenzij HOMEBREW_NO_AUTOREMOVE is ingesteld. Beoordeel die de-installatie afzonderlijk met brew autoremove --dry-run, want eigen scripts kunnen zo’n tool nog rechtstreeks gebruiken. Meet na cleanup de cache opnieuw, herhaal de proefdraai, voer brew list --versions uit en start belangrijke commando’s. AskClean kan de Homebrew-cache als geheel tonen en verwijdert dat item na je bevestiging definitief, maar ruimt geen oude kegs in de Cellar op; voor pakketbewuste kandidaten blijft Homebrews proefdraai leidend.
Grenzen voor verwijderen en herstelkosten
Bekijk met brew cleanup -n welke Homebrew-downloads en oude versies verdwijnen, begrijp wat -s (--scrub) en --prune=all doen en bescherm je huidige tools.
| Onderdeel of actie | Controleren met | Gevolg |
|---|---|---|
| Onderscheid downloadcache, oude kegs en huidige tools | brew --cache | Homebrew bewaart bottles, bronarchieven en cask-downloads standaard onder ~/Library/Caches/Homebrew; HOMEBREW_CACHE kan die locatie wijzigen. |
| Controleer elke kandidaat met een proefdraai | HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n | Meet de actieve cache met du -sh "$(brew --cache)" en voer HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n uit als je alleen cleanup wilt beoordelen. |
| Kies het kleinste passende cleanup-commando | HOMEBREW_NO_AUTOREMOVE=1 brew cleanup / HOMEBREW_NO_AUTOREMOVE=1 brew cleanup --prune=all | Gebruik na controle HOMEBREW_NO_AUTOREMOVE=1 brew cleanup voor normaal, leeftijdsgebonden onderhoud zonder automatische de-installatie van ongebruikte afhankelijkheden. |
| Behandel autoremove, gebruikersgegevens en controle afzonderlijk | brew autoremove --dry-run (geen cacheopruiming) | brew autoremove is inhoudelijk geen cacheopruiming: het de-installeert formules die Homebrew als overbodige afhankelijkheid ziet. |
Veelgestelde vragen
Is brew cleanup veilig op een Mac?
Het is een ondersteund Homebrew-commando, maar verwijdert naast verouderde downloads ook oude formuleversies en kan autoremove automatisch aanroepen. Voer daarom eerst een proefdraai uit en gebruik HOMEBREW_NO_AUTOREMOVE=1 als je ongebruikte afhankelijkheidsformules afzonderlijk wilt beoordelen.
Wat is het verschil tussen brew cleanup -s en --prune=all?
Met -s (--scrub) verwijdert brew cleanup ook gecachete downloads van de nieuwste versies van pakketten die niet geïnstalleerd zijn, zoals pakketten die je wel hebt gedownload maar nooit geïnstalleerd, of die je inmiddels hebt verwijderd. Downloads van formules en casks die nog geïnstalleerd zijn, blijven bewaard. --prune=all verwijdert gecachete bestanden ongeacht hun leeftijd. In beide gevallen kan de normale opruiming ook oude locks en formuleversies meenemen. Bekijk de precieze lijst eerst met HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n -s of HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all.
Moet ik daarna brew autoremove uitvoeren?
Nee. brew autoremove de-installeert afhankelijkheidsformules en is geen cacheopruiming. Huidige versies van brew cleanup kunnen het al automatisch aanroepen; gebruik HOMEBREW_NO_AUTOREMOVE=1 om dat te voorkomen en beoordeel de aparte beslissing met brew autoremove --dry-run.
Bronnen