Jak mogę usunąć nieaktualne zainstalowane wersje pakietów Homebrew?

Odpowiedzi:

333

Polecenie cleanup ( brew cleanup) usunie nieaktualne zainstalowane wersje pakietów. Wpłynąć na konkretny pakiet / formuły, można podać nazwę wzoru tak: brew cleanup $FORMULA. Aby symulować porządki, czyli co będzie usunięty, można skorzystać z -nopcji: brew cleanup -n.

aknuds1
źródło
30
Dla przypomnienia: brew cleanuptylko czyści nieaktualne wersje pakietów, jeśli masz zainstalowany w najnowszej wersji, więc najpierw brew upgradewtedybrew cleanup
Jan
38
O kurczę. To właśnie dało mi więcej niż 3G. Kto wiedział…
Alper
38
This operation has freed approximately 17.2GB of disk space.
fvgs
11
O MÓJ BOŻE! Właśnie odzyskałem ponad 12 GB miejsca. WooHoo!
Richard Hurt
3
Wow, roczna wartość upgradebez cleanupspowodowała dla mnie 17,6 GB nieużywanego oprogramowania! (Zaznacz to za pomocą brew cleanup -n, który niczego nie usuwa.) Dziękujemy za tę odpowiedź. :)
Erik
80

@ aknuds1 ma rację, brew cleanupwięc dodam tylko, że mam alias, ~/.profilektóry wykonuje wszystkie moje czyszczenie związane z parzeniem, w tym aktualizację / czyszczenie beczek

alias brewski='brew update && brew upgrade && brew cleanup; brew doctor'

I kończą brew doctorsię upewnić, że wszystkie pakiety są dowiązane prawidłowo, na przykład, awscliwydaje się mieć problem z tym na regularne więc stale trzeba odłączyć / Łącz ponownie. Mam nadzieję że to pomoże.


EDYCJA: Jak wskazano mi w komentarzach, brew caskfunkcjonalność została połączona z rdzeniem homebrew. Te polecenia również generowały błędy, więc odwołania do brew caskzostały usunięte.

EDYCJA 2: Gdy prowadzę to codziennie, zauważyłem dziś następujący komentarz. Zaktualizowałem odpowiednio polecenie

    Warning: We decided to not change the behaviour of `brew upgrade` so
    `brew upgrade --all` is equivalent to `brew upgrade` without any other
    arguments (so the `--all` is a no-op and can be removed).
SaxDaddy
źródło
3
Nie musisz brew upgrade brew-caskjuż więcej tego robić, ponieważ ponieważ ta prośba o brew update pobranie również teraz automatycznie zaktualizuje homebrew-cask.
Lantrix,
1
@Lantrix Dzięki za tę aktualizację. Zredagowałem swoją odpowiedź, aby odzwierciedlić tę zmianę.
SaxDaddy
2
brew upgrade --cleanupusunie stare pakiety, gdy nowe zostaną zainstalowane.
Zenexer
Nie polecam używać, brew upgradeale zamiast tego należy używać, brew outdateda następnie aktualizować każdy z pakietów w brew upgrade PACKAGEten sposób, aby mieć większą kontrolę
Pedro Luz
Ponieważ brew upgradejest to jedno polecenie aktualizacji wszystkich pakietów, działa dobrze w przypadku automatyzacji. Opcjonalnie możesz pinspakować wersje, które chcesz zachować, a resztę zaktualizować jednocześnie.
SaxDaddy
34

Tylko dla rekordów możesz wyczyścić nieaktualne wersje pakietów, które zamierzasz zaktualizować, używając flagi --cleanup:

brew upgrade --cleanup <package_name>

bergercookie
źródło