Как я могу удалить устаревшие установленные версии пакетов 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.