Як я можу видалити застарілі встановлені версії пакунків Homebrew?


Відповіді:


333

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


30
Для запису: 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,6 ГБ невикористаного для мене програмного забезпечення! (Поставте прапорець brew cleanup -n, який нічого не видаляє.) Дякую за цю відповідь. :)
Ерік

80

@ aknuds1 має рацію, brew cleanupтому я просто додам, що у мене є псевдонім у моєму, ~/.profileякий виконує всі мої помилки, пов’язані з заваренням, включаючи оновлення / очищення бочки.

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

Я закінчую, brew doctorщоб переконатися, що всі пакунки правильно пов’язані, наприклад, awscliначебто, проблеми з цим є регулярно, тому мені постійно доводиться відключати / пересилати. Сподіваюся, це допомагає.


EDIT: Як мені було зазначено в коментарях, brew caskфункціональність була об'єднана в основне ядро. Ці команди також видавали помилки, тому посилання brew caskбули видалені.

EDIT2: Під час запуску цього дня я сьогодні помітив наступний коментар. Я відповідно оновив команду

    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 також тепер автоматично оновить домашню непридатність.
Lantrix

1
@Lantrix Дякую за це оновлення. Я відредагував свою відповідь, щоб відобразити цю зміну.
SaxDaddy

2
brew upgrade --cleanupбуде видалено старі пакунки, оскільки нові пакети встановлені.
Зенексер

Я не раджу використовувати, brew upgradeале замість цього використовувати brew outdatedта потім оновлювати кожен із пакетів, brew upgrade PACKAGEщоб мати більше контролю
Педро Луз

Оскільки brew upgradeє єдиною командою для оновлення всіх пакетів, вона добре працює для автоматизації. За бажанням, ви можете pinупакувати версії, які ви хочете зберегти, і оновити всі інші відразу.
SaxDaddy

34

Тільки для записів ви можете очистити застарілі версії пакетів, які ви збираєтеся оновити, використовуючи прапор --cleanup:

brew upgrade --cleanup <package_name>

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.