Як очистити кеш Homebrew і старі версії на Mac
Команда AskClean · Оновлено 2026-08-05
Визначте кеш завантажень командою brew --cache і виміряйте його. Сучасний brew cleanup може не лише прибрати застарілі завантаження, файли блокування та старі версії формул, а й автоматично запустити autoremove. Щоб оцінити ці дії окремо, почніть із HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n, а видалення залежностей перевірте пізніше окремо.

Розділяйте кеш, старі keg-каталоги й поточні інструменти
Homebrew типово зберігає готові двійкові пакети (bottles), архіви вихідного коду й завантаження cask-пакетів у ~/Library/Caches/Homebrew; HOMEBREW_CACHE може змінити цей шлях. Установлені формули лежать у версійних каталогах keg у Cellar, cask-пакети — у Caskroom, а активні посилання — під префіксом. Перевіряйте фактичні місця командами brew --cache, brew --cellar, brew --caskroom і brew --prefix. Cellar, Caskroom, префікс, Brewfile, файли конфігурації, служби, бази даних та проєкти не можна видаляти як кеш.
Перевірте кожен об’єкт у пробному запуску
Виконайте brew --cache, du -sh "$(brew --cache)" і HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n. Перегляньте застарілі завантаження та старі встановлені формули, а командою brew list --versions перевірте версії важливих інструментів. Префікс HOMEBREW_NO_AUTOREMOVE=1 діє лише для цього запуску й не дає cleanup автоматично видалити невикористані залежності. Пробний запуск не створює резервної копії: видалене може не потрапити у Смітник і вже не бути доступним у тій самій версії.
- Виконайте brew --cache і виміряйте активний кеш завантажень командою du -sh "$(brew --cache)".
- Виконайте HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n і перегляньте кожне запропоноване завантаження та стару версію формули.
- За допомогою brew list --versions знайдіть потрібні поточні й старі версії, а потім перевірте мережу, проксі та доступність вихідних артефактів.
- Запустіть HOMEBREW_NO_AUTOREMOVE=1 brew cleanup або, лише після такого самого перегляду з -n, HOMEBREW_NO_AUTOREMOVE=1 brew cleanup --prune=all.
- Повторно виміряйте кеш, виконайте пробний cleanup без autoremove і brew list --versions, а тоді протестуйте важливий інструмент; видалення залежностей окремо оцініть через brew autoremove --dry-run.
Пробний cleanup не створює резервної копії. Видалений старий каталог keg може зламати скрипт або шлях відкоту, а точне відновлення не гарантоване. Без HOMEBREW_NO_AUTOREMOVE=1 глобальний brew cleanup може також автоматично видалити невикористані залежності.
Оберіть найвужчу відповідну команду cleanup
Після перевірки виконайте HOMEBREW_NO_AUTOREMOVE=1 brew cleanup, щоб очищення не змішувалося з видаленням залежностей. Якщо треба видалити кешовані файли незалежно від віку, спершу перевірте HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all і лише потім виконайте відповідну команду без -n. Майбутнім установленням і збіркам доведеться знову завантажувати bottles, архіви та інсталятори; cleanup також може прибрати старі каталоги keg й унеможливити точний відкіт. Для одного пакета використовуйте такий самий префікс із brew cleanup -n <name>, а потім із brew cleanup <name>; кутові дужки не вводьте буквально.
Розглядайте autoremove й користувацькі дані окремо
brew autoremove — не очищення кешу: команда видаляє формули, які Homebrew вважає більше не потрібними як залежності. Перевіряйте її окремо через brew autoremove --dry-run, адже скрипти можуть прямо використовувати інструмент, не зазначений у графі залежностей; фактичний brew autoremove здатен одразу порушити роботу. Після cleanup знову виміряйте кеш, виконайте пробний запуск із HOMEBREW_NO_AUTOREMOVE=1, перевірте brew list --versions і протестуйте важливі команди. AskClean може показати кеш Homebrew цілком, але лише пробний запуск Homebrew розрізняє завантаження й старі каталоги keg.
Що можна видаляти та скільки коштує відновлення
Перегляньте завантаження та старі версії через brew cleanup і очистьте погоджений обсяг без автоматичного видалення залежностей.
| Об’єкт або дія | Де перевірити | Наслідки видалення |
|---|---|---|
| Розділяйте кеш, старі keg-каталоги й поточні інструменти | brew --cache | Homebrew типово зберігає готові двійкові пакети (bottles), архіви вихідного коду й завантаження cask-пакетів у ~/Library/Caches/Homebrew; HOMEBREW_CACHE може змінити цей шлях. Установлені формули лежать у версійних каталогах keg у Cellar, cask-пакети — у Caskroom, а активні посилання — під префіксом. Перевіряйте фактичні місця командами brew --cache, brew --cellar, brew --caskroom і brew --prefix. Cellar, Caskroom, префікс, Brewfile, файли конфігурації, служби, бази даних та проєкти не можна видаляти як кеш. |
| Перевірте кожен об’єкт у пробному запуску | HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n | Виконайте brew --cache, du -sh "$(brew --cache)" і HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n. Перегляньте застарілі завантаження та старі встановлені формули, а командою brew list --versions перевірте версії важливих інструментів. Префікс HOMEBREW_NO_AUTOREMOVE=1 діє лише для цього запуску й не дає cleanup автоматично видалити невикористані залежності. Пробний запуск не створює резервної копії: видалене може не потрапити у Смітник і вже не бути доступним у тій самій версії. |
| Оберіть найвужчу відповідну команду cleanup | HOMEBREW_NO_AUTOREMOVE=1 brew cleanup / HOMEBREW_NO_AUTOREMOVE=1 brew cleanup --prune=all | Після перевірки виконайте HOMEBREW_NO_AUTOREMOVE=1 brew cleanup, щоб очищення не змішувалося з видаленням залежностей. Якщо треба видалити кешовані файли незалежно від віку, спершу перевірте HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all і лише потім виконайте відповідну команду без -n. Майбутнім установленням і збіркам доведеться знову завантажувати bottles, архіви та інсталятори; cleanup також може прибрати старі каталоги keg й унеможливити точний відкіт. Для одного пакета використовуйте такий самий префікс із brew cleanup -n <name>, а потім із brew cleanup <name>; кутові дужки не вводьте буквально. |
| Розглядайте autoremove й користувацькі дані окремо | brew autoremove --dry-run (окрема перевірка, а не очищення кешу) | brew autoremove — не очищення кешу: команда видаляє формули, які Homebrew вважає більше не потрібними як залежності. Перевіряйте її окремо через brew autoremove --dry-run, адже скрипти можуть прямо використовувати інструмент, не зазначений у графі залежностей; фактичний brew autoremove здатен одразу порушити роботу. Після cleanup знову виміряйте кеш, виконайте пробний запуск із HOMEBREW_NO_AUTOREMOVE=1, перевірте brew list --versions і протестуйте важливі команди. AskClean може показати кеш Homebrew цілком, але лише пробний запуск Homebrew розрізняє завантаження й старі каталоги keg. |
FAQ
Чи безпечно виконувати brew cleanup на Mac?
Це штатна команда Homebrew, але вона видаляє старі версії формул і може автоматично запустити autoremove. Завжди починайте з HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n і зберігайте каталоги keg, потрібні скриптам або для відкоту.
Що видаляє brew cleanup --prune=all?
Команда видаляє кешовані файли незалежно від віку, тож наступні встановлення можуть потребувати мережі й повторного завантаження. Вона не перетворює поточні інструменти чи конфігурацію на кеш; використовуйте HOMEBREW_NO_AUTOREMOVE=1, щоб не долучати автоматичне видалення залежностей.
Чи треба після цього запускати brew autoremove?
Ні, не автоматично. brew autoremove видаляє формули, які Homebrew вважає непотрібними залежностями, а не кеш. Оскільки глобальний brew cleanup може викликати його автоматично, для самого очищення використовуйте HOMEBREW_NO_AUTOREMOVE=1, а список залежностей перевіряйте окремо через brew autoremove --dry-run.
Джерела