AskCleanAskClean

Sådan rydder du Homebrew-cache og gamle versioner på Mac

AskClean-teamet · Opdateret 2026-08-05

Find downloadcachen med brew --cache, mål den, og lav en prøvekørsel før enhver ændring. En almindelig brew cleanup fjerner forældede downloads, forældede låsefiler og gamle installerede formula-versioner; brew cleanup --prune=all fjerner cachefiler uanset alder. Aktuelle Homebrew-versioner kan også køre autoremove automatisk under cleanup. Brug HOMEBREW_NO_AUTOREMOVE=1, hvis cleanup og afinstallation af overflødige afhængighedsformulaer skal vurderes hver for sig.

Mørke flasker og pakkekasser ordnet på oplyste hylder med ældre flasker samlet i en genbrugsbeholder foran
Skeln mellem downloads, gamle versioner og aktuelle værktøjer, før Homebrew fjerner noget fra lageret.

Skeln mellem cache, gamle kegs og aktuelle værktøjer

Homebrew gemmer bottles, kildearkiver og cask-downloads i en cache, der normalt ligger i ~/Library/Caches/Homebrew; HOMEBREW_CACHE kan ændre placeringen. Installerede formulaer ligger som kegs i Cellar, casks registreres i Caskroom, og aktive links ligger under Homebrew-prefixet. Find de faktiske placeringer med brew --cache, brew --cellar, brew --caskroom og brew --prefix. En gammel keg er en installeret version med en mulig rollbackværdi — ikke bare en downloadcache.

Lav en prøvekørsel før oprydning

Mål den aktive cache med du -sh "$(brew --cache)", og kør HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n for at gennemgå cleanup uden automatisk afinstallation af afhængigheder. Prøvekørslen viser både forældede downloads og gamle installerede formula-versioner. Sammenhold vigtige værktøjer med brew list --versions, og kontrollér, om et script eller en rollback stadig kræver en gammel keg. En prøvekørsel er ikke en sikkerhedskopi: slettede filer ender ikke nødvendigvis i Papirkurven, og præcis samme version er måske ikke tilgængelig senere.

  1. Kør brew --cache, og mål den viste downloadcache med du -sh "$(brew --cache)".
  2. Kør HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n, og gennemgå hver download og gammel formula-version uden automatisk afinstallation af afhængigheder.
  3. Kør brew list --versions for vigtige værktøjer, og kontrollér behovet for rollback eller fastlåste arbejdsgange.
  4. Vælg HOMEBREW_NO_AUTOREMOVE=1 brew cleanup eller, efter den tilsvarende prøvekørsel med --prune=all, samme kommando uden -n, når omkostningen ved nye downloads er accepteret.
  5. Mål cachen igen, gentag prøvekørslen, kør brew list --versions, og test mindst ét vigtigt Homebrew-værktøj; vurder eventuelt autoremove særskilt med brew autoremove --dry-run.

En prøvekørsel er kun en forhåndsvisning. Brug samme HOMEBREW_NO_AUTOREMOVE-indstilling til prøvekørslen og den virkelige cleanup. En fjernet gammel keg eller en afhængighed, som et script bruger direkte, kan måske ikke gendannes i præcis samme version.

Vælg det smalleste Homebrew-indgreb

Brug HOMEBREW_NO_AUTOREMOVE=1 brew cleanup efter gennemgangen til almindelig, aldersbaseret vedligeholdelse uden automatisk afinstallation af ubrugte afhængigheder. Hvis alle cachefiler virkelig skal væk uanset alder, skal du først køre HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all og derefter samme kommando uden -n. Senere installationer, geninstallationer og builds fra kildekode skal hente bottles, arkiver og store installationsfiler igen. cleanup kan stadig fjerne gamle kegs og dermed gøre en præcis rollback umulig. Brug kommandoerne med et konkret formula- eller casknavn, hvis kun én pakke er målet.

Vurder autoremove, brugerdata og resultat separat

brew autoremove er ikke cacheoprydning: kommandoen afinstallerer formulaer, som Homebrew ikke længere anser for nødvendige afhængigheder. Aktuelle versioner af brew cleanup kan kalde autoremove automatisk, medmindre HOMEBREW_NO_AUTOREMOVE er sat. Gennemgå afinstallationen særskilt med brew autoremove --dry-run, fordi egne scripts stadig kan bruge en formula direkte. Slet aldrig outputtet fra brew --prefix, brew --cellar eller brew --caskroom med rm -rf; Brewfiles, dotfiles, tjenester, databaser, certifikater og projektfiler er heller ikke cache. Mål til sidst igen, kør prøvekørslen på ny, og test vigtige kommandoer.

Beslutningsgrundlag og slettegrænser

Gennemgå Homebrews downloads og gamle formula-versioner med en prøvekørsel, ryd målrettet op, og beskyt aktuelle værktøjer, afhængigheder og konfiguration.

Element eller handlingKontrollér herKonsekvens
Skeln mellem cache, gamle kegs og aktuelle værktøjerbrew --cacheHomebrew gemmer bottles, kildearkiver og cask-downloads i en cache, der normalt ligger i ~/Library/Caches/Homebrew; HOMEBREW_CACHE kan ændre placeringen. Installerede formulaer ligger som kegs i Cellar, casks registreres i Caskroom, og aktive links ligger under Homebrew-prefixet. Find de faktiske placeringer med brew --cache, brew --cellar, brew --caskroom og brew --prefix. En gammel keg er en installeret version med en mulig rollbackværdi — ikke bare en downloadcache.
Lav en prøvekørsel før oprydningHOMEBREW_NO_AUTOREMOVE=1 brew cleanup -nMål den aktive cache med du -sh "$(brew --cache)", og kør HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n for at gennemgå cleanup uden automatisk afinstallation af afhængigheder. Prøvekørslen viser både forældede downloads og gamle installerede formula-versioner. Sammenhold vigtige værktøjer med brew list --versions, og kontrollér, om et script eller en rollback stadig kræver en gammel keg. En prøvekørsel er ikke en sikkerhedskopi: slettede filer ender ikke nødvendigvis i Papirkurven, og præcis samme version er måske ikke tilgængelig senere.
Vælg det smalleste Homebrew-indgrebHOMEBREW_NO_AUTOREMOVE=1 brew cleanup / HOMEBREW_NO_AUTOREMOVE=1 brew cleanup --prune=allBrug HOMEBREW_NO_AUTOREMOVE=1 brew cleanup efter gennemgangen til almindelig, aldersbaseret vedligeholdelse uden automatisk afinstallation af ubrugte afhængigheder. Hvis alle cachefiler virkelig skal væk uanset alder, skal du først køre HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all og derefter samme kommando uden -n. Senere installationer, geninstallationer og builds fra kildekode skal hente bottles, arkiver og store installationsfiler igen. cleanup kan stadig fjerne gamle kegs og dermed gøre en præcis rollback umulig. Brug kommandoerne med et konkret formula- eller casknavn, hvis kun én pakke er målet.
Vurder autoremove, brugerdata og resultat separatbrew autoremove --dry-run (ikke cacheoprydning)brew autoremove er ikke cacheoprydning: kommandoen afinstallerer formulaer, som Homebrew ikke længere anser for nødvendige afhængigheder. Aktuelle versioner af brew cleanup kan kalde autoremove automatisk, medmindre HOMEBREW_NO_AUTOREMOVE er sat. Gennemgå afinstallationen særskilt med brew autoremove --dry-run, fordi egne scripts stadig kan bruge en formula direkte. Slet aldrig outputtet fra brew --prefix, brew --cellar eller brew --caskroom med rm -rf; Brewfiles, dotfiles, tjenester, databaser, certifikater og projektfiler er heller ikke cache. Mål til sidst igen, kør prøvekørslen på ny, og test vigtige kommandoer.

FAQ

Er brew cleanup sikkert at køre?

Det er Homebrews understøttede vedligeholdelseskommando, men den fjerner ud over forældede downloads også gamle formula-versioner og kan køre autoremove automatisk. Lav først en prøvekørsel, og brug HOMEBREW_NO_AUTOREMOVE=1, hvis ubrugte afhængighedsformulaer skal vurderes separat.

Hvad fjerner brew cleanup --prune=all?

Den anvender cleanup med en cachepolitik uden aldersgrænse. Den almindelige cleanup kan samtidig fjerne forældede låsefiler og gamle formula-versioner. Se den præcise liste med HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all, hvis autoremove ikke skal indgå i beslutningen.

Er brew autoremove også cacheoprydning?

Nej. brew autoremove afinstallerer afhængighedsformulaer og er ikke cacheoprydning. Aktuelle versioner af brew cleanup kan allerede kalde den automatisk; brug HOMEBREW_NO_AUTOREMOVE=1 for at forhindre det, og vurder afinstallationen særskilt med brew autoremove --dry-run.

Kilder

Flere guider om udviklerlager