Homebrew: permission denied при brew install/update

  • Обновлено
  • Чтение ≈ 4 минуты

Краткий ответ

Исправьте владельца каталогов Homebrew и обновите Xcode CLT.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Исправление прав
  5. Типичные причины
  6. Если не помогло
  7. Как проверить результат

#Что означает ошибка

Сообщение
brew permission denied

Ошибки Homebrew Permission denied @ dir_s_mkdir и Error: Permission denied при brew install или brew update возникают, когда каталог Homebrew принадлежит другому пользователю (часто root после работы через sudo).

Запускать brew через sudo нельзя.

Исправление Permission denied начинается с определения проблемного пути и владельца. Homebrew обычно обслуживается одним назначенным пользователем; изменение прав всей установки может нарушить безопасность и рабочую конфигурацию других пользователей.

Проверьте доступ к конкретному каталогу Homebrew или пользовательскому кэшу. Если Homebrew установлен организацией или другому пользователю, не меняйте владельца без согласования.

#Причины и решения

Возможная причинаКак узнатьЧто делать
ВладелецКаталог.Проявляется как «brew permission denied» или близкий по смыслу сбой.chown.
CLTУстарели.Проявляется как «brew permission denied» или близкий по смыслу сбой.Обновите.
Apple SiliconПуть.Проявляется как «brew permission denied» или близкий по смыслу сбой./opt/homebrew.
GitСбой.Проявляется как «brew permission denied» или близкий по смыслу сбой.Проверьте.

#Пошаговое решение

  1. Определите префикс HomebrewНа Mac откройте «Программы» → «Утилиты» → «Терминал» и выполните whoami, command -v brew, brew --prefix, brew --repository. Убедитесь, что используете именно свою установку Homebrew (на Apple Silicon обычно /opt/homebrew, на Intel — /usr/local, но возможны другие значения). Из сообщения Permission denied выпишите конкретный файл или каталог, к которому нет доступа. Не выполняйте команды с sudo, пока не выясните, не относится ли путь к чужой установке или системной папке.
  2. Верните владельцаПроверьте права только проблемного каталога через ls -ldeO ПОЛНЫЙ_ПУТЬ, подставив фактический путь из ошибки; -e показывает списки контроля доступа, -O — флаги macOS. Также выполните brew doctor: его рекомендации могут указать типовую неисправность. Если каталог принадлежит другой учётной записи и Homebrew установлен организацией, попросите владельца исправить права. Массовый sudo chown -R $(whoami) $(brew --prefix)/* недопустим: он меняет владельцев всего дерева, в том числе объектов других пользователей.
  3. Проверьте права на записьЕсли повреждён только ваш пользовательский каталог кэша Homebrew, выполните brew --cache, затем ls -ldeO "$(brew --cache)" и убедитесь, что он принадлежит вашему аккаунту. Исправляйте права только точного проблемного объекта и только при подтверждённом владельце; решение зависит от того, кому предназначен каталог. В установке для нескольких пользователей не назначайте его себе по умолчанию; обратитесь к администратору. Не запускайте chmod -R или chown -R на /usr/local либо /opt/homebrew вслепую.
  4. Запустите brew doctorПосле согласованного точечного исправления повторите brew doctor и прочитайте, остались ли сообщения о правах. Для диагностики можно выполнить brew config, который покажет архитектуру и версию окружения. Если Homebrew принадлежит другому пользователю, установите договорённость о едином владельце; команды brew update, brew install обычно запускают без sudo, из учётной записи владельца установки. Привилегии администратора могут понадобиться для первоначальной настройки путей или отдельных cask, но не для обычного запуска brew.
  5. Повторите brew updateЕсли brew doctor больше не сообщает о доступе, выполните brew update, затем повторите исходную установку конкретной формулы, например brew install ИМЯ_ФОРМУЛЫ после замены имени. При повторной ошибке сохраните путь, название операции и вывод brew --prefix, brew doctor, не публикуя закрытые данные. Когда префикс принадлежит другой учётной записи или есть ограничения MDM, остановитесь: это администрирование организации, а не повод рекурсивно захватывать права.

#Исправление прав

Проверьте brew --prefix, brew --cache и ls -ldeO для точного пути из ошибки. Не запускайте sudo chown -R $(whoami) $(brew --prefix)/* и не меняйте массово права каталогов. Если установка Homebrew принадлежит другому аккаунту, обратитесь к её владельцу; если испорчен исключительно ваш кэш, можно согласованно исправить владельца только нужного объекта.

#Типичные причины

Ранее запущенный sudo brew создал файлы root. Каталоги /usr/local/share/zsh и /usr/local/lib/pkgconfig могут принадлежать root. Проверьте: ls -ld /opt/homebrew /usr/local/Cellar. Не выполняйте установку от root, а при необходимости используйте sudo только для конкретных исправлений владельца.

#Если не помогло

Прочитайте brew doctor и исправляйте только относящиеся к ошибке предупреждения. Установка инструментов разработчика через xcode-select --install нужна лишь при их отсутствии или соответствующей диагностике. Полная переустановка Homebrew рискованна для пользовательских пакетов и не должна выполняться автоматически ради одного сообщения о правах.

Linux · Терминал (Bash)Команда
Только безопасная диагностика. Не используйте sudo chown -R и chmod по всему префиксу.
whoami
command -v brew
brew --prefix
brew --repository
brew --cache
brew doctor
# Замените путь на КОНКРЕТНЫЙ из сообщения Permission denied:
ls -ldeO "ПОЛНЫЙ_ПУТЬ"

#Как проверить результат

После исправления владельца конкретного каталога выполните brew doctor и brew update; не запускайте сразу brew upgrade для всех пакетов и не устанавливайте тестовые пакеты без необходимости. При успешной работе повторите исходное действие. Если ошибка осталась, сохраните сообщение с точным путём и обратитесь к назначенному владельцу установки.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.