AskCleanAskClean

Slik tømmer du Homebrew-cachen og gamle versjoner på Mac

AskClean-teamet · Oppdatert 2026-08-05

Finn Homebrews aktive nedlastingscache med brew --cache, og forhåndsvis endringene med HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n. Vanlig brew cleanup fjerner foreldede låsefiler, utdaterte nedlastinger og gamle installerte formelversjoner; brew cleanup --prune=all fjerner cachefiler uansett alder. Homebrew kan i tillegg kjøre autoremove automatisk hvis HOMEBREW_NO_AUTOREMOVE ikke er satt. Vurder derfor ubrukte avhengigheter separat før du rydder.

En opplyst hylle med mørke flasker og pakkebokser; noen flasker er lagt i en gjenvinningsbeholder foran
Homebrew-lagring har ulike gjenopprettingskostnader: gjennomgå nedlastinger og gamle versjoner, men beskytt gjeldende verktøy og konfigurasjon.

Skill nedlastingscachen fra installerte verktøy og data

Homebrews nedlastingscache for bottles, kildearkiver og cask-nedlastinger ligger som standard i ~/Library/Caches/Homebrew, men HOMEBREW_CACHE kan endre plasseringen. Installerte formler ligger som versjonerte kegs i Cellar, casks i Caskroom, og aktive lenker under Homebrew-prefikset. Finn de faktiske plasseringene med brew --cache, brew --cellar, brew --caskroom og brew --prefix. Cellar, Caskroom, prefikset, Brewfile, konfigurasjonsfiler, tjenester, databaser, sertifikater og prosjektdata er ikke en cache som kan slettes samlet.

Forhåndsvis hver kandidat uten å endre noe

Mål den aktive cachen med du -sh "$(brew --cache)", og kjør HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n for å se utdaterte nedlastinger og gamle installerte formelversjoner uten automatisk avinstallasjon av ubrukte avhengigheter. Kontroller autoremove separat med brew autoremove --dry-run. Sammenlign viktige verktøy med brew list --versions, og undersøk om et skript eller en tilbakeføringsplan fortsatt trenger en gammel keg. En prøvekjøring er ingen sikkerhetskopi: fjernede filer havner ikke nødvendigvis i Papirkurven, og samme versjon er kanskje ikke tilgjengelig senere.

  1. Kjør brew --cache, og mål den oppgitte nedlastingscachen med du -sh "$(brew --cache)".
  2. Kjør HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n og deretter brew autoremove --dry-run; kontroller hver foreslåtte nedlasting, gamle formelversjon og ubrukte avhengighet separat.
  3. Sammenlign nødvendige nåværende og gamle versjoner med brew list --versions, og kontroller nettverk, proxy og tilgjengelighet for senere nedlastinger.
  4. Bruk HOMEBREW_NO_AUTOREMOVE=1 brew cleanup til vanlig vedlikehold, eller kjør HOMEBREW_NO_AUTOREMOVE=1 brew cleanup --prune=all etter den tilsvarende prøvekjøringen hvis cachen skal ryddes uten aldersgrense.
  5. Mål cachen på nytt, kjør HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n og brew list --versions, og test minst ett viktig Homebrew-verktøy.

En prøvekjøring er ikke en sikkerhetskopi. Bruk samme HOMEBREW_NO_AUTOREMOVE=1 både i prøvekjøringen og den faktiske cleanup-kommandoen. En fjernet gammel keg eller direkte brukt avhengighet kan bryte en udokumentert tilbakeføringsplan eller et skript, og den nøyaktige versjonen kan være umulig å gjenopprette.

Velg den smaleste brew cleanup-kommandoen som er tilstrekkelig

Bruk HOMEBREW_NO_AUTOREMOVE=1 brew cleanup etter den kontrollerte prøvekjøringen for vanlig, aldersstyrt vedlikehold. Hvis alle cachefiler skal bort uansett alder, kjører du først HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all og deretter samme kommando uten -n. Senere installasjoner, reinstallasjoner og kildebygg må laste ned bottles, arkiver og store installasjonsfiler på nytt. cleanup avinstallerer ikke alle gjeldende pakker, men kan fjerne gamle kegs og gjøre en nøyaktig tilbakeføring umulig.

Vurder autoremove, brukerdata og resultat separat

brew autoremove er ikke cacheopprydding, men avinstallerer formler Homebrew mener ikke lenger trengs som avhengigheter. Homebrew kan kjøre autoremove automatisk fra brew cleanup og brew uninstall; bruk HOMEBREW_NO_AUTOREMOVE=1 når du vil holde beslutningene atskilt. Kontroller kandidater separat med brew autoremove --dry-run, siden egne skript kan bruke en formel utenfor Homebrews avhengighetsgraf. Ikke bruk rm -rf på prefikset, Cellar, Caskroom eller hele ~/Library/Caches. AskClean kan vise Homebrew-cachen som ett element; Homebrews prøvekjøring styrer pakkeorienterte beslutninger om nedlastinger og gamle versjoner.

Slettingsgrenser og gjenopprettingskostnader

Forhåndsvis Homebrew-nedlastinger og gamle formelversjoner med brew cleanup, rydd målrettet, og beskytt gjeldende verktøy, avhengigheter og konfigurasjon.

Element eller handlingKontroller med eller påKonsekvens
Skill nedlastingscachen fra installerte verktøy og databrew --cacheHomebrews nedlastingscache for bottles, kildearkiver og cask-nedlastinger ligger som standard i ~/Library/Caches/Homebrew, men HOMEBREW_CACHE kan endre plasseringen. Installerte formler ligger som versjonerte kegs i Cellar, casks i Caskroom, og aktive lenker under Homebrew-prefikset. Finn de faktiske plasseringene med brew --cache, brew --cellar, brew --caskroom og brew --prefix. Cellar, Caskroom, prefikset, Brewfile, konfigurasjonsfiler, tjenester, databaser, sertifikater og prosjektdata er ikke en cache som kan slettes samlet.
Forhåndsvis hver kandidat uten å endre noeHOMEBREW_NO_AUTOREMOVE=1 brew cleanup -nMål den aktive cachen med du -sh "$(brew --cache)", og kjør HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n for å se utdaterte nedlastinger og gamle installerte formelversjoner uten automatisk avinstallasjon av ubrukte avhengigheter. Kontroller autoremove separat med brew autoremove --dry-run. Sammenlign viktige verktøy med brew list --versions, og undersøk om et skript eller en tilbakeføringsplan fortsatt trenger en gammel keg. En prøvekjøring er ingen sikkerhetskopi: fjernede filer havner ikke nødvendigvis i Papirkurven, og samme versjon er kanskje ikke tilgjengelig senere.
Velg den smaleste brew cleanup-kommandoen som er tilstrekkeligHOMEBREW_NO_AUTOREMOVE=1 brew cleanup / HOMEBREW_NO_AUTOREMOVE=1 brew cleanup --prune=allBruk HOMEBREW_NO_AUTOREMOVE=1 brew cleanup etter den kontrollerte prøvekjøringen for vanlig, aldersstyrt vedlikehold. Hvis alle cachefiler skal bort uansett alder, kjører du først HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all og deretter samme kommando uten -n. Senere installasjoner, reinstallasjoner og kildebygg må laste ned bottles, arkiver og store installasjonsfiler på nytt. cleanup avinstallerer ikke alle gjeldende pakker, men kan fjerne gamle kegs og gjøre en nøyaktig tilbakeføring umulig.
Vurder autoremove, brukerdata og resultat separatbrew autoremove --dry-run (ikke cacheopprydding)brew autoremove er ikke cacheopprydding, men avinstallerer formler Homebrew mener ikke lenger trengs som avhengigheter. Homebrew kan kjøre autoremove automatisk fra brew cleanup og brew uninstall; bruk HOMEBREW_NO_AUTOREMOVE=1 når du vil holde beslutningene atskilt. Kontroller kandidater separat med brew autoremove --dry-run, siden egne skript kan bruke en formel utenfor Homebrews avhengighetsgraf. Ikke bruk rm -rf på prefikset, Cellar, Caskroom eller hele ~/Library/Caches. AskClean kan vise Homebrew-cachen som ett element; Homebrews prøvekjøring styrer pakkeorienterte beslutninger om nedlastinger og gamle versjoner.

Vanlige spørsmål

Er brew cleanup trygt å kjøre?

Det er en støttet Homebrew-kommando, men den fjerner både utdaterte nedlastinger og gamle installerte formelversjoner og kan kjøre autoremove automatisk. Forhåndsvis derfor med HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n, og vurder autoremove separat med brew autoremove --dry-run.

Hva sletter brew cleanup --prune=all?

Den bruker cleanup uten aldersgrense for cachefiler, mens vanlig opprydding av foreldede låsefiler og gamle formelversjoner fortsatt gjelder. Se den nøyaktige listen med HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all, og regn med nye nedlastinger senere.

Er brew autoremove det samme som cacheopprydding?

Nei. brew autoremove avinstallerer formler Homebrew mener ikke lenger trengs som avhengigheter. Vurder kandidatene separat med brew autoremove --dry-run. Husk også at brew cleanup kan utløse autoremove automatisk hvis HOMEBREW_NO_AUTOREMOVE ikke er satt.

Kilder

Flere veiledninger om utviklerlagring