Как-то раз при попытке обновить пакеты Homebrew я столкнулся со следующей ошибкой:
Error: Could not cleanup old kegs! Fix your permissions on: /opt/homebrew/Cellar/php/8.1.10_1
Исходя из текста самой ошибки, проблема заключается в некорректных правах доступа к определенной директории. Не имея нужных прав доступа Homebrew не может очистить старые файлы, а запускаться из-под root этот менеджер пакетов отказывается принципиально.
Например, я использую Homebrew чтобы держать на макбуке локальный веб-сервер на связке nginx+mysql+php-fpm, а также использовать привычные утилиты mc и htop.
Публикую решение проблемы на случай если она возникнет снова и мне потребуется быстро найти рабочую команду. Ну и для других людей, которые могут столкнуться с этой же ошибкой.
Итак, для исправление ошибки «Could not cleanup old kegs!» требуется выполнить в терминале одну единственную команду:
sudo chown -R "$USER":admin /conflicting/dir
Где вместо /conflicting/dir прописать путь к той проблемной директории, на которую ругается Homebrew (в моем случае это /opt/homebrew/Cellar/php/8.1.10_1). Если в сообщении об ошибке упоминаются сразу несколько директорий — значит данную команду нужно последовательно выполнить для для каждой из них.
После чего выполнить очистку:
brew cleanup
Проблема решена.