Як я можу видалити застарілі встановлені версії пакунків 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.