AskCleanAskClean

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

AskClean-teamet · Uppdaterad 2026-08-05

Hitta nedladdningscachen med brew --cache och kör brew cleanup -n före varje ändring. En vanlig brew cleanup tar bort inaktuella hämtningar, gamla lås och äldre installerade versioner av Homebrew-formler; brew cleanup --prune=all tar bort cachefiler oavsett ålder. Homebrew kan också köra autoremove automatiskt om HOMEBREW_NO_AUTOREMOVE inte är satt. Granska därför även oanvända beroenden och acceptera både nedladdnings- och återställningskostnaden 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 nedladdningscache 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 Homebrew-formler ligger som versionsmappar 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. Cellar, Caskroom, prefix, Brewfile, punktfiler, tjänster, databaser och projektfiler är inte allmän cache som kan kastas.

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 granska cleanup utan automatisk avinstallation av beroenden. Förhandsgranskningen visar både inaktuella hämtningar och äldre installerade versioner av Homebrew-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 återställning till en äldre version kräver någon av dem. En torrkörning är ingen säkerhetskopia: efter verklig rensning ligger filerna inte nödvändigtvis 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 nätverk, proxy och tillgänglighet för senare hämtningar.
  4. Använd HOMEBREW_NO_AUTOREMOVE=1 brew cleanup för normalt underhåll eller, efter motsvarande torrkörning med --prune=all, samma kommando utan -n för alla cachefiler oavsett ålder.
  5. Mät cachen igen, kör brew cleanup -n och brew list --versions och testa minst ett viktigt Homebrew-verktyg.

En torrkörning är bara en förhandsgranskning. Använd samma HOMEBREW_NO_AUTOREMOVE-inställning vid granskning och verklig cleanup. En borttagen äldre version eller ett beroende som används direkt av ett skript kanske inte går att återställa exakt.

Välj minsta tillräckliga brew cleanup-kommando

Använd HOMEBREW_NO_AUTOREMOVE=1 brew cleanup efter granskning för normalt åldersstyrt underhåll utan automatisk avinstallation av oanvända beroenden. Om alla cachefiler verkligen ska 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 på nytt. cleanup avinstallerar inte generellt aktuella paket, men kan ta bort gamla versioner och göra en exakt återställning omöjlig.

Hantera autoremove, användardata och kontroll separat

brew autoremove är inte cacherensning: kommandot avinstallerar Homebrew-formler som inte längre bedöms behövas som beroenden. 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 cleanup, kör brew cleanup -n och brew list --versions och starta viktiga kommandon. AskClean kan visa Homebrew-cachen som helhet; Homebrews torrkörningar styr paketmedvetna beslut.

Raderingsgränser och återställningskostnad

Förhandsgranska Homebrew-hämtningar och gamla versioner med brew cleanup, begränsa rensningen och skydda aktuella verktyg, beroenden och inställningar.

Objekt eller åtgärdKontrollera med eller påFöljd
Skilj nedladdningscache från installerade verktygbrew --cacheHomebrew lagrar bottle-filer, källarkiv och cask-hämtningar normalt under ~/Library/Caches/Homebrew; HOMEBREW_CACHE kan ändra platsen. Installerade Homebrew-formler ligger som versionsmappar 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. Cellar, Caskroom, prefix, Brewfile, punktfiler, tjänster, databaser och projektfiler är inte allmän cache som kan kastas.
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 granska cleanup utan automatisk avinstallation av beroenden. Förhandsgranskningen visar både inaktuella hämtningar och äldre installerade versioner av Homebrew-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 återställning till en äldre version kräver någon av dem. En torrkörning är ingen säkerhetskopia: efter verklig rensning ligger filerna inte nödvändigtvis i Papperskorgen, och exakt samma version kan ha försvunnit från källan.
Välj minsta tillräckliga brew cleanup-kommandoHOMEBREW_NO_AUTOREMOVE=1 brew cleanup / HOMEBREW_NO_AUTOREMOVE=1 brew cleanup --prune=allAnvänd HOMEBREW_NO_AUTOREMOVE=1 brew cleanup efter granskning för normalt åldersstyrt underhåll utan automatisk avinstallation av oanvända beroenden. Om alla cachefiler verkligen ska 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 på nytt. cleanup avinstallerar inte generellt aktuella paket, men kan ta bort gamla versioner och göra en exakt återställning omöjlig.
Hantera autoremove, användardata och kontroll separatbrew autoremove --dry-run (avinstallation, inte cacherensning)brew autoremove är inte cacherensning: kommandot avinstallerar Homebrew-formler som inte längre bedöms behövas som beroenden. 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 cleanup, kör brew cleanup -n och brew list --versions och starta viktiga kommandon. AskClean kan visa Homebrew-cachen som helhet; Homebrews torrkörningar styr paketmedvetna beslut.

Vanliga frågor

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

Det är ett Homebrew-kommando som stöds, men det tar förutom inaktuella hämtningar även bort äldre installerade versioner av Homebrew-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 återställning eller skript.

Vad raderar brew cleanup --prune=all?

Det kör cleanup med en cachepolicy utan åldersgräns. Normal cleanup kan dessutom omfatta gamla lås och versioner av Homebrew-formler. Se den exakta listan med brew cleanup -n --prune=all.

Ska jag köra brew autoremove efteråt?

Kör det inte som en extra rutinåtgärd. brew autoremove avinstallerar Homebrew-formler som installerats som beroenden och är inte cacherensning. Granska först med brew autoremove --dry-run. Observera också att Homebrew kan anropa autoremove från brew cleanup om HOMEBREW_NO_AUTOREMOVE inte är satt.

Källor

Fler guider om utvecklarlagring