Как я могу удалить устаревшие установленные версии пакетов Homebrew?


216

Как я могу удалить устаревшие версии пакетов Homebrew , которые устанавливаются параллельно с текущими версиями?


Ответы:


333

Команда cleanup ( brew cleanup) удалит устаревшие версии установленных пакетов. Для того, чтобы воздействовать на конкретный пакет / формулу, вы можете ввести имя формулы следующим образом: brew cleanup $FORMULA. Для имитации очистки, то есть посмотреть , что будет удалено, вы можете использовать -nопцию: brew cleanup -n.


31
Для записи: brew cleanupтолько очищает устаревшие версии пакета , если у вас установлена последняя версия, так что первый brew upgradeзатемbrew cleanup
Jan

38
Святое дерьмо. Это только вернуло мне больше, чем 3G. Кто знал ...
Альпер

38
This operation has freed approximately 17.2GB of disk space.
fvgs

11
О, МОЙ БОГ! Я только что получил более 12 ГБ места. WooHoo!
Ричард Херт

3
Ничего себе, год upgradeбез cleanupрезультата привел к 17.6GB неиспользованного программного обеспечения для меня! (Проверьте это с помощью brew cleanup -n, который ничего не удаляет.) Спасибо за этот ответ. :)
Эрик

80

@ aknuds1 прав, brew cleanupпоэтому я просто добавлю, что у меня есть псевдоним, ~/.profileкоторый выполняет всю мою очистку, связанную с варкой, включая обновление / очистку бочки

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

Я заканчиваю тем, brew doctorчтобы убедиться, что все пакеты имеют правильную символическую ссылку, например, awscliкажется, есть проблема с этим на обычной, поэтому мне постоянно приходится отсоединять / повторно связывать. Надеюсь это поможет.


РЕДАКТИРОВАТЬ: Как было указано мне в комментариях, brew caskфункциональность была объединена с ядром доморощенного. Эти команды также выдавали ошибки, поэтому ссылки на brew caskних были удалены.

РЕДАКТИРОВАТЬ 2: Когда я запускаю это ежедневно, я заметил следующий комментарий сегодня. Я обновил команду соответственно

    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).

3
Вам больше не нужно ничего делать brew upgrade brew-cask, так как этот запрос на извлечение brew update теперь также автоматически обновляет бочонок домашнего пива.
Лантрикс

1
@Lantrix Спасибо за это обновление. Я отредактировал свой ответ, чтобы отразить это изменение.
SaxDaddy

2
brew upgrade --cleanupудалит старые пакеты по мере их установки.
Zenexer

Я не советую использовать, brew upgradeно вместо этого использовать brew outdatedи затем обновлять каждый из пакетов brew upgrade PACKAGEтаким образом, чтобы у вас был больший контроль
Pedro Luz

Как brew upgradeединственная команда для обновления всех пакетов, она хорошо работает для автоматизации. При желании вы можете pinупаковать версии, которые хотите сохранить, и обновить остальные сразу.
SaxDaddy

34

Только для записей, вы можете очистить устаревшие версии пакетов, которые вы собираетесь обновить, используя флаг --cleanup:

brew upgrade --cleanup <package_name>

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.