AskClean

Så rensar du Homebrew-cachen och gamla versioner på Mac

AskClean-teamet · Uppdaterad 2026-11-02

Hitta nedladdningscachen med brew --cache och kör brew cleanup -n innan du ändrar något. En vanlig brew cleanup tar bort inaktuella låsfiler, gamla hämtningar och äldre installerade versioner av Homebrew-formler. Med -s (--scrub) går rensningen längre: även cachade hämtningar av de senaste versionerna tas bort, till exempel för paket som du har hämtat men aldrig installerat eller som du har tagit bort. Hämtningar för allt som fortfarande är installerat behålls i båda fallen; --prune=all tar bort cachefiler oavsett ålder. Homebrew kan dessutom köra autoremove automatiskt om HOMEBREW_NO_AUTOREMOVE inte är satt, så granska även oanvända beroenden innan du rensar.

Ett upplyst skåp med flaskor och förvaringslådor; några flaskor har sorterats ut i en återvinningsbehållare framför skåpet
Homebrew-lagring har olika återställningskostnader: granska hämtningar och gamla versioner men skydda aktuella verktyg och inställningar.

Skilj nedladdningscachen från installerade verktyg

Homebrew lagrar bottle-filer, källarkiv och cask-hämtningar normalt under ~/Library/Caches/Homebrew; HOMEBREW_CACHE kan ändra platsen. Installerade formler ligger som versionsmappar (kegs) i Cellar, casks i Caskroom och aktiva länkar under prefixet. Hitta rätt platser med brew --cache, brew --cellar, brew --caskroom och brew --prefix i stället för att anta /opt/homebrew eller /usr/local. Gamla kegs är installerade versioner, inte cache, och Cellar, Caskroom, prefix, Brewfile, punktfiler, tjänster, databaser och projektfiler är inget som kan kastas som cache.

Förhandsgranska varje kandidat utan att ändra något

Mät den aktiva cachen med du -sh "$(brew --cache)" och kör HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n för att förhandsgranska rensningen utan automatisk avinstallation av beroenden. Förhandsgranskningen visar både inaktuella hämtningar och äldre installerade versioner av formler. Kör sedan brew autoremove --dry-run separat. Jämför viktiga verktyg med brew list --versions och kontrollera om ett skript eller en återgång till en äldre version kräver någon av dem. En torrkörning är ingen säkerhetskopia: efter en verklig rensning ligger filerna inte i papperskorgen, och exakt samma version kan ha försvunnit från källan.

  1. Kör brew --cache och mät den visade nedladdningscachen med du -sh "$(brew --cache)".
  2. Kör HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n och därefter brew autoremove --dry-run; granska varje föreslagen hämtning, äldre formelversion och oanvänt beroende.
  3. Jämför nödvändiga aktuella och äldre versioner med brew list --versions och kontrollera att nätverk, proxy och källor finns tillgängliga för senare hämtningar.
  4. Använd HOMEBREW_NO_AUTOREMOVE=1 brew cleanup för normalt underhåll; lägg till -s eller --prune=all först efter motsvarande torrkörning med -n.
  5. Mät cachen igen, kör brew cleanup -n och brew list --versions och testa minst ett viktigt verktyg som du har installerat med Homebrew.

En torrkörning är bara en förhandsgranskning. Använd samma HOMEBREW_NO_AUTOREMOVE-inställning vid förhandsgranskningen och vid den verkliga rensningen, och kom ihåg att -s betyder --scrub, inte ”safe”. En borttagen äldre version eller ett beroende som ett skript använder direkt går kanske inte att återställa exakt.

Välj det minst omfattande brew cleanup-kommandot

Använd HOMEBREW_NO_AUTOREMOVE=1 brew cleanup efter granskningen för normalt underhåll; hämtningar som är äldre än 120 dagar rensas som standard. -s (--scrub) rensar cachen bredare och tar även bort cachade hämtningar av de senaste versionerna för paket som inte är installerade, till exempel sådana som du har hämtat men aldrig installerat eller som du har tagit bort. Hämtningar för allt som fortfarande är installerat behålls; förhandsgranska med brew cleanup -n -s. Ska alla cachefiler bort oavsett ålder kör du först HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all och därefter samma kommando utan -n. Senare installationer, ominstallationer och källbyggen måste då hämta bottle-filer, arkiv och stora installationsfiler igen. Med HOMEBREW_NO_AUTOREMOVE=1 avinstallerar brew cleanup inga aktuella paket, men gamla versioner kan försvinna och göra en exakt återgång omöjlig.

Hantera autoremove, användardata och kontroll separat

brew autoremove är inte cacherensning: kommandot avinstallerar formler som bara installerades som beroenden och inte längre bedöms behövas. Granska listan med brew autoremove --dry-run, eftersom egna skript fortfarande kan använda ett sådant verktyg. Aktuell Homebrew kan anropa autoremove automatiskt från brew cleanup och brew uninstall; sätt HOMEBREW_NO_AUTOREMOVE=1 för körningen om beroendena inte ska omfattas. Mät efter rensningen, kör brew cleanup -n och brew list --versions och starta viktiga kommandon. AskClean kan visa Homebrew-cachen som ett enda objekt och raderar den permanent om du godkänner det, men rör inte gamla kegs i Cellar – paketmedvetna beslut fattar du med Homebrews egna torrkörningar.

Raderingsgränser och återställningskostnad

Förstå brew cleanup -s (--scrub), förhandsgranska rensningen, ta bort gamla hämtningar och formelversioner och skydda aktuella verktyg och inställningar.

Objekt eller åtgärdVar eller hur du kontrollerarFöljd
Skilj nedladdningscachen från installerade verktygbrew --cacheHomebrew lagrar bottle-filer, källarkiv och cask-hämtningar normalt under ~/Library/Caches/Homebrew; HOMEBREW_CACHE kan ändra platsen.
Förhandsgranska varje kandidat utan att ändra någotHOMEBREW_NO_AUTOREMOVE=1 brew cleanup -nMät den aktiva cachen med du -sh "$(brew --cache)" och kör HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n för att förhandsgranska rensningen utan automatisk avinstallation av beroenden.
Välj det minst omfattande brew cleanup-kommandotHOMEBREW_NO_AUTOREMOVE=1 brew cleanup / -s / --prune=allAnvänd HOMEBREW_NO_AUTOREMOVE=1 brew cleanup efter granskningen för normalt underhåll; hämtningar som är äldre än 120 dagar rensas som standard.
Hantera autoremove, användardata och kontroll separatbrew autoremove --dry-run (avinstallation, inte cacherensning)brew autoremove är inte cacherensning: kommandot avinstallerar formler som bara installerades som beroenden och inte längre bedöms behövas.

Vanliga frågor

Är brew cleanup säkert på en Mac?

Det är ett Homebrew-kommando som stöds, men förutom inaktuella hämtningar tar det även bort äldre installerade versioner av formler och kan köra autoremove automatiskt. Kör därför brew cleanup -n och brew autoremove --dry-run först och skydda verktyg som fortfarande behövs för en återgång eller i skript.

Vad gör brew cleanup -s och --prune=all?

-s (--scrub) tar även bort cachade hämtningar av de senaste versionerna för paket som inte är installerade, till exempel sådana som du har hämtat men aldrig installerat eller som du har tagit bort. Hämtningar för formler och casks som du fortfarande har installerade behålls. --prune=all tar bort cachefiler oavsett ålder. Båda gör dessutom den vanliga rensningen av inaktuella låsfiler och gamla formelversioner, så se den exakta listan med brew cleanup -n -s eller brew cleanup -n --prune=all först.

Ska jag köra brew autoremove efteråt?

Oftast inte. Utan HOMEBREW_NO_AUTOREMOVE gör en global brew cleanup redan samma borttagning, och med variabeln satt är det ett separat beslut: granska först med brew autoremove --dry-run. autoremove avinstallerar formler som bara installerades som beroenden, rensar ingen nedladdningscache och kan ta bort ett verktyg som dina skript använder direkt.

Källor

Fler guider om utvecklarlagring