Jak wyczyścić pamięć podręczną Homebrew i stare wersje na Macu
Zespół AskClean · Zaktualizowano 2026-11-02
Zanim cokolwiek zmienisz, uruchom brew cleanup -n. Zwykłe czyszczenie usuwa przestarzałe blokady, nieaktualne pobrania i stare wersje formuł, a uruchomione dla wszystkich pakietów odinstalowuje też zależności, których nic już nie potrzebuje (chyba że ustawisz HOMEBREW_NO_AUTOREMOVE=1). Opcja -s (--scrub) idzie dalej: usuwa też zapisane w pamięci podręcznej pobrania najnowszych wersji — na przykład pakietów pobranych, ale nigdy niezainstalowanych, albo już odinstalowanych. Pobrania wszystkiego, co nadal jest zainstalowane, zostają w każdym przypadku. Aktywną lokalizację pamięci podręcznej sprawdzisz poleceniem brew --cache.

Oddziel pobrania od zainstalowanych narzędzi
Domyślna pamięć podręczna pobrań Homebrew to ~/Library/Caches/Homebrew, ale HOMEBREW_CACHE może wskazywać inne miejsce, dlatego używaj brew --cache. Formuły są zainstalowane jako wersjonowane kegi w Cellar, caski mają Caskroom, a rzeczywiste lokalizacje pokażą brew --cellar, brew --caskroom i brew --prefix — nie zakładaj z góry /opt/homebrew ani /usr/local. Bieżące narzędzia, konfiguracja i dane użytkownika nie są pamięcią podręczną. brew cleanup obejmuje nie tylko pobrania: usuwa też stare wersje zainstalowanych formuł, co może uniemożliwić dokładny powrót do poprzedniej wersji.
Zrób podgląd przed każdą zmianą
Uruchom brew --cache, potem du -sh "$(brew --cache)" i brew cleanup -n (to samo co --dry-run). Przejrzyj pobrania, stare kegi i formuły wymienione pod „Would autoremove”, a przez brew list --versions potwierdź wersje ważnych narzędzi. Jeśli czyszczenie ma nie odinstalowywać zależności, poprzedź podgląd i właściwe polecenie prefiksem HOMEBREW_NO_AUTOREMOVE=1 — działa on tylko dla tego jednego wywołania. Gdy chodzi o jeden pakiet, użyj brew cleanup -n <nazwa>; zamiast <nazwa> wpisz właściwą nazwę formuły lub casku, bez nawiasów ostrych.
- Uruchom brew --cache i zmierz wynik poleceniem du -sh "$(brew --cache)".
- Uruchom brew cleanup -n i przejrzyj każde proponowane pobranie, starą wersję formuły i kandydata do autoremove.
- Przez brew list --versions potwierdź bieżące wersje narzędzi, na których polegasz.
- Wybierz zwykłe brew cleanup, brew cleanup -s albo brew cleanup --prune=all — każdy wariant najpierw z -n; prefiks HOMEBREW_NO_AUTOREMOVE=1 zachowa zależności.
- Ponownie wykonaj podgląd i pomiar, sprawdź zainstalowane wersje i uruchom najważniejsze narzędzia z Homebrew.
Podgląd nie jest kopią zapasową. Usunięty stary keg może już nie być dostępny w tej samej wersji, a pliki pamięci podręcznej trzeba będzie pobrać ponownie; nie zakładaj, że trafią do Kosza. Bez HOMEBREW_NO_AUTOREMOVE=1 globalne brew cleanup może też odinstalować nieużywane zależności.
Wybierz zakres: zwykłe cleanup, -s albo --prune=all
Po akceptacji podglądu uruchom brew cleanup do zwykłej konserwacji; domyślnie kandydatami są pobrania starsze niż 120 dni. Opcja -s oznacza --scrub, a nie „safe” ani „silent”: usuwa także zapisane pobrania najnowszych wersji pakietów, które nie są zainstalowane (pobranych, ale nigdy niezainstalowanych albo już odinstalowanych), a pobrania wszystkiego, co nadal jest zainstalowane, zachowuje — podgląd uzyskasz poleceniem brew cleanup -n -s. --prune=all usuwa pliki pamięci podręcznej bez względu na wiek; najpierw uruchom brew cleanup -n --prune=all. Obie opcje wymuszą ponowne pobieranie instalatorów, więc upewnij się, że sieć, proxy, poświadczenia i źródła pobrań są dostępne, a stare kegi z podglądu nie są potrzebne do powrotu do wcześniejszej wersji.
Zweryfikuj narzędzia i chroń stan użytkownika
Po czyszczeniu ponów brew cleanup -n oraz du -sh "$(brew --cache)", sprawdź brew list --versions i uruchom kluczowe narzędzia. Polecenie brew autoremove nie czyści pamięci podręcznej: odinstalowuje zależności uznane za zbędne i może zepsuć skrypt z niezadeklarowaną zależnością, dlatego zacznij od brew autoremove --dry-run i przejrzyj tę listę osobno. Nigdy nie wykonuj szerokiego rm -rf na wyniku brew --prefix, brew --cellar ani brew --caskroom i nie usuwaj Brewfile, plików konfiguracyjnych, usług, baz danych, certyfikatów ani danych projektów jako pamięci podręcznej.
Co można usunąć i jaki jest koszt odtworzenia
Co usuwa brew cleanup -s (--scrub), jak zrobić podgląd czyszczenia Homebrew, usunąć stare pobrania i wersje formuł oraz chronić bieżące narzędzia.
| Element lub decyzja | Gdzie sprawdzić | Skutek usunięcia |
|---|---|---|
| Oddziel pobrania od zainstalowanych narzędzi | brew --cache | Domyślna pamięć podręczna pobrań Homebrew to ~/Library/Caches/Homebrew, ale HOMEBREW_CACHE może wskazywać inne miejsce, dlatego używaj brew --cache. |
| Zrób podgląd przed każdą zmianą | brew cleanup -n | Uruchom brew --cache, potem du -sh "$(brew --cache)" i brew cleanup -n (to samo co --dry-run). |
| Wybierz zakres: zwykłe cleanup, -s albo --prune=all | brew cleanup / brew cleanup -s / brew cleanup --prune=all | Po akceptacji podglądu uruchom brew cleanup do zwykłej konserwacji; domyślnie kandydatami są pobrania starsze niż 120 dni. |
| Zweryfikuj narzędzia i chroń stan użytkownika | brew list --versions / brew autoremove --dry-run (to nie czyszczenie pamięci podręcznej) | Po czyszczeniu ponów brew cleanup -n oraz du -sh "$(brew --cache)", sprawdź brew list --versions i uruchom kluczowe narzędzia. |
FAQ
Czy brew cleanup jest bezpieczne?
To obsługiwane polecenie Homebrew, ale zawsze zacznij od brew cleanup -n. Usuwa nieaktualne pobrania, stare wersje zainstalowanych formuł oraz — jeśli nie ustawiono HOMEBREW_NO_AUTOREMOVE — zależności, których nic już nie potrzebuje, więc przed właściwym poleceniem sprawdź, czy żaden proces nie korzysta ze starego kegu ani z zależności z listy.
Co oznacza brew cleanup -s?
Flaga -s to --scrub. Usuwa też zapisane pobrania najnowszych wersji — dla pakietów, które nie są zainstalowane, np. pobranych, ale nigdy niezainstalowanych, albo już odinstalowanych. Pobrania formuł i casków, które nadal masz zainstalowane, zostają. Przed uruchomieniem sprawdź kandydatów poleceniem brew cleanup -n -s. Szersze --prune=all usuwa pliki pamięci podręcznej bez względu na wiek.
Czy brew autoremove też czyści pamięć podręczną?
Nie. brew autoremove odinstalowuje formuły uznane za niepotrzebne zależności. Globalne brew cleanup uruchamia jednak to samo usuwanie automatycznie, chyba że ustawisz HOMEBREW_NO_AUTOREMOVE=1; listę zależności sprawdzisz osobno przez brew autoremove --dry-run.
Źródła