AskCleanAskClean

Як очистити кеш Homebrew і старі версії на Mac

Команда AskClean · Оновлено 2026-08-05

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

Пляшки й темні коробки Homebrew впорядковано на освітленій полиці, а частину пляшок складено в контейнер для утилізації
Сховище Homebrew має різну вартість відновлення: переглядайте завантаження й старі версії, але захищайте поточні інструменти та конфігурацію.

Розділяйте кеш, старі 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 автоматично видалити невикористані залежності. Пробний запуск не створює резервної копії: видалене може не потрапити у Смітник і вже не бути доступним у тій самій версії.

  1. Виконайте brew --cache і виміряйте активний кеш завантажень командою du -sh "$(brew --cache)".
  2. Виконайте HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n і перегляньте кожне запропоноване завантаження та стару версію формули.
  3. За допомогою brew list --versions знайдіть потрібні поточні й старі версії, а потім перевірте мережу, проксі та доступність вихідних артефактів.
  4. Запустіть HOMEBREW_NO_AUTOREMOVE=1 brew cleanup або, лише після такого самого перегляду з -n, HOMEBREW_NO_AUTOREMOVE=1 brew cleanup --prune=all.
  5. Повторно виміряйте кеш, виконайте пробний 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 --cacheHomebrew типово зберігає готові двійкові пакети (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 автоматично видалити невикористані залежності. Пробний запуск не створює резервної копії: видалене може не потрапити у Смітник і вже не бути доступним у тій самій версії.
Оберіть найвужчу відповідну команду cleanupHOMEBREW_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.

Джерела

Інші посібники зі сховища для розробників