AskClean

Jak na Macu vyčistit mezipaměť Homebrew a staré verze

Tým AskClean · Aktualizováno 2026-11-02

Než cokoli změníte, spusťte brew cleanup -n. Běžný příkaz brew cleanup odstraní zastaralé zámky, stará stažení a staré verze nainstalovaných formulí, a pokud není nastavená proměnná HOMEBREW_NO_AUTOREMOVE, může navíc automaticky odinstalovat nepoužívané závislosti. Přepínač -s (--scrub) jde ještě dál: z mezipaměti smaže i stažení nejnovějších verzí, například balíčků, které jste stáhli, ale nikdy nenainstalovali, nebo které jste mezitím odinstalovali. Stažení balíčků, které jsou stále nainstalované, se v obou případech ponechají. Aktivní umístění mezipaměti ověříte příkazem brew --cache. Současné instalace, konfiguraci ani projektová data ručně nemažte.

Lahve a balíčky Homebrew stojí na uspořádaných osvětlených policích a samostatná skupina lahví je v recyklační nádobě
Úložiště Homebrew má různou cenu obnovy: stažené soubory a staré verze si zobrazte v náhledu, současné nástroje a konfiguraci chraňte.

Oddělte stažené soubory od nainstalovaných nástrojů

Výchozí mezipaměť stažených souborů Homebrew je ~/Library/Caches/Homebrew, proměnná HOMEBREW_CACHE ji ale může přesměrovat jinam, proto použijte brew --cache. Formule jsou nainstalované jako verzované kegy v Cellaru, casky mají Caskroom a skutečná umístění zjistíte příkazy brew --cellar, brew --caskroom a brew --prefix. Současné nástroje ani uživatelská data nejsou mezipaměť. brew cleanup navíc nepracuje jen se staženými soubory: odstraňuje i staré verze nainstalovaných formulí, takže přesný návrat k předchozí verzi nemusí být možný.

Před každou změnou zobrazte náhled

Spusťte brew --cache, potom du -sh "$(brew --cache)" a brew cleanup -n (totéž co --dry-run). Projděte stažené soubory, staré kegy i případné závislosti, které by se automaticky odinstalovaly, a příkazem brew list --versions potvrďte verze důležitých nástrojů. Chcete-li autoremove z úklidu vyloučit, přidejte před náhled i skutečný příkaz předponu HOMEBREW_NO_AUTOREMOVE=1, která platí jen pro dané spuštění. Řešíte-li jediný balíček, začněte příkazem brew cleanup -n <název>; zástupný text <název> nahraďte skutečným názvem formule nebo casku, lomené závorky nezadávejte.

  1. Spusťte brew --cache a výsledek změřte příkazem du -sh "$(brew --cache)".
  2. Spusťte brew cleanup -n, projděte stažené soubory, staré kegy i navržené odinstalování závislostí a důležité verze potvrďte přes brew list --versions.
  3. Pro běžnou údržbu spusťte brew cleanup; brew cleanup -s nebo brew cleanup --prune=all použijte až po kontrole náhledu brew cleanup -n -s, resp. brew cleanup -n --prune=all. Chcete-li vyloučit autoremove, dejte před náhled i skutečný příkaz předponu HOMEBREW_NO_AUTOREMOVE=1.
  4. Odinstalování závislostí posuďte samostatně přes brew autoremove --dry-run; skutečné brew autoremove spusťte jen po schválení celého seznamu.
  5. Znovu zobrazte náhled a změřte mezipaměť, zkontrolujte nainstalované verze a spusťte nejdůležitější nástroje z Homebrew.

Náhled cleanup nevytváří zálohu. Odstraněný starý keg už nemusí být ve stejné verzi dostupný a soubory mezipaměti bude nutné stáhnout znovu; nespoléhejte na to, že skončí v Koši. Bez HOMEBREW_NO_AUTOREMOVE=1 může brew cleanup připojit automatické odinstalování nepoužívaných závislostí.

Zvolte běžný úklid, -s, nebo --prune=all

Po kontrole náhledu spusťte brew cleanup pro běžnou údržbu podle stáří souborů; ve výchozím stavu odstraní stažení starší než 120 dní. Přepínač -s znamená --scrub, ne „safe“ ani „silent“: zahrne do úklidu i nedávná stažení včetně nejnovějších verzí, stažení nainstalovaných formulí a casků ale ponechá – náhled zobrazíte příkazem brew cleanup -n -s. Volba --prune=all odstraní soubory mezipaměti bez ohledu na stáří; i zde nejdřív spusťte brew cleanup -n --prune=all. Před širším úklidem ověřte síť, proxy, přihlašovací údaje a dostupnost zdrojů: další instalace budou instalátory a archivy stahovat znovu a obě volby stále mohou odstranit staré kegy. Předpona HOMEBREW_NO_AUTOREMOVE=1 jen zabrání automatickému odinstalování nepoužívaných závislostí.

Ověřte nástroje a chraňte uživatelská data

Po úklidu zopakujte brew cleanup -n a du -sh "$(brew --cache)", zkontrolujte brew list --versions a spusťte klíčové nástroje. brew autoremove není čištění mezipaměti: odinstaluje formule, které Homebrew považuje za nepotřebné závislosti, a může rozbít skript s nedeklarovanou závislostí, proto ho spusťte až po samostatné kontrole přes brew autoremove --dry-run. Nikdy nespouštějte široké rm -rf na výstup brew --prefix, brew --cellar nebo brew --caskroom a nemažte jako mezipaměť Brewfile, konfigurační soubory, služby, databáze, certifikáty ani projektová data.

Co lze odstranit a kolik stojí obnova

Zjistěte, co odstraní brew cleanup, -s (--scrub) a --prune=all, zobrazte si náhled přes brew cleanup -n a chraňte současné nástroje i konfiguraci Homebrew.

Položka nebo rozhodnutíKde zkontrolovatDůsledek odstranění
Oddělte stažené soubory od nainstalovaných nástrojůbrew --cache / brew --cellar / brew --caskroomVýchozí mezipaměť stažených souborů Homebrew je ~/Library/Caches/Homebrew, proměnná HOMEBREW_CACHE ji ale může přesměrovat jinam, proto použijte brew --cache.
Před každou změnou zobrazte náhledbrew cleanup -n / brew list --versionsSpusťte brew --cache, potom du -sh "$(brew --cache)" a brew cleanup -n (totéž co --dry-run).
Zvolte běžný úklid, -s, nebo --prune=allbrew cleanup -n -s / brew cleanup -n --prune=allPo kontrole náhledu spusťte brew cleanup pro běžnou údržbu podle stáří souborů; ve výchozím stavu odstraní stažení starší než 120 dní.
Ověřte nástroje a chraňte uživatelská databrew autoremove --dry-run (samostatná kontrola, ne čištění mezipaměti)Po úklidu zopakujte brew cleanup -n a du -sh "$(brew --cache)", zkontrolujte brew list --versions a spusťte klíčové nástroje.

Časté dotazy

Je bezpečné spustit brew cleanup?

Jde o podporovaný příkaz Homebrew, vždy ale začněte náhledem brew cleanup -n. Kromě starých stažení může odstranit starší verze formulí potřebné k návratu nebo pro místní skript a bez proměnné HOMEBREW_NO_AUTOREMOVE může automaticky spustit i autoremove.

Co odstraní brew cleanup -s a brew cleanup --prune=all?

-s (--scrub) z mezipaměti odstraní i stažení nejnovějších verzí u balíčků, které nejsou nainstalované, například u těch, které jste stáhli a nikdy nenainstalovali nebo které jste mezitím odinstalovali. Stažení formulí a casků, které máte stále nainstalované, se ponechají. --prune=all odstraní soubory mezipaměti bez ohledu na stáří. Obě varianty navíc odstraní zastaralé zámky a staré verze formulí; přesný seznam ověřte příkazem brew cleanup -n -s nebo brew cleanup -n --prune=all.

Čistí brew autoremove také mezipaměť?

Ne. brew autoremove odinstaluje formule považované za nepotřebné závislosti. brew cleanup ho však může spustit automaticky, proto pro samotné čištění použijte předponu HOMEBREW_NO_AUTOREMOVE=1 a seznam závislostí zkontrolujte zvlášť přes brew autoremove --dry-run.

Zdroje

Další návody k úložišti pro vývojáře