Homebrew: Permission denied при установке пакетов

  • Обновлено
  • Чтение ≈ 4 минуты
  • Нужны права администратора

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

Ошибка Permission denied в Homebrew возникает, когда у пользователя нет прав на каталоги /opt/homebrew или /usr/local. Не используйте sudo для brew, а верните владельца каталога командой chown и проверьте brew doctor. Не запускайте brew от root.

В этой статье
  1. Где живёт Homebrew
  2. Порядок исправления
  3. Типичные случаи
Permission denied
Error: Permission denied @ dir_s_mkdir - /usr/local/Cellar
По-русскиУ вас нет прав записи в каталог установки Homebrew.

#Где живёт Homebrew

На Apple Silicon Homebrew устанавливается в /opt/homebrew, на Intel — в /usr/local. Каталог должен принадлежать вашему пользователю, поэтому brew никогда не запускается через sudo. Ошибка прав появляется, когда владелец каталога сменился на root (из-за запуска с sudo, миграции, копирования), либо когда пользователь не входит в нужную группу.

Возможная причинаКак узнатьЧто делать
Ранее использовали sudo brewФайлы принадлежат root.ls -l показывает владельца root.Верните владельца командой chown.
Каталог принадлежит другому пользователюНа Mac несколько учётных записей.Владелец — другой пользователь.Используйте одну учётную запись для Homebrew или установите его в домашний каталог.
Apple Silicon: путь /usr/localМиграция с Intel.brew находит старый каталог.Переустановите Homebrew в /opt/homebrew и мигрируйте пакеты.
Cask просит парольПрограмме нужны права установки.Запрос sudo при brew install --cask.Это нормально для драйверов и пакетов .pkg.
Защита целостности системыSIP блокирует запись.Ошибка в системных каталогах.Не пишите в /usr/bin; Homebrew использует /opt/homebrew или /usr/local.
Нет места или диск только для чтенияНеверная файловая система.Read-only file system.Проверьте диск и права.

#Порядок исправления

  1. Не используйте sudo с brewHomebrew на macOS устанавливается для обычной учётной записи: в Терминале (Finder → «Программы» → «Утилиты») запускайте brew install ... без sudo. Если ошибка уже есть, запишите точный путь после Permission denied: это может быть каталог установки Homebrew, ваш кэш, конкретный файл или сторонняя программа. Не меняйте права на всю папку Homebrew до выяснения, какой объект недоступен.
  2. Проверьте путь установкиВ терминале выполните brew --prefix и uname -m. Для Apple Silicon штатный префикс часто /opt/homebrew, для Intel /usr/local, но фактический путь берите из вывода команды. Затем выполните brew config и сохраните строки Homebrew prefix и текущего пользователя; при нестандартной или общей установке процедура исправления прав должна учитывать администратора этого Mac.
  3. Посмотрите владельцаДля проблемного пути выполните ls -ldeO "$(brew --prefix)" и ls -ldeO "$(brew --prefix)/Cellar" (если каталог существует). В выводе сравните владельца, группу, ACL и флаги. Проверьте собственное имя командой id -un. Если права некорректны из-за прежней установки под root, сначала выясните, кто должен владеть ИМЕННО ЭТИМИ каталогами; массовое chown -R может нарушить совместную установку.
  4. Верните праваНе используйте sudo chown -R "$(whoami)" "$(brew --prefix)"/* как универсальное средство. После подтверждения повреждения прав администратор может исправить владельца одного конкретного каталога, указанного в ошибке, через Finder → «Свойства» → «Общий доступ и права доступа» или адресную команду chown по документации Homebrew. До этого сохраните сведения о владельцах и убедитесь, что каталог не используется другими пользователями.
  5. Исправьте права записи для группыchmod -R u+w на весь префикс меняет множество файлов и может создать проблему безопасности. Если доступ запрещён для одного каталога Homebrew, проверьте ACL (ls -le) и сначала устраните первопричину. Настройка Homebrew должна соответствовать официальным рекомендациям для вашей архитектуры и версии macOS. После адресного исправления повторите установку только исходного пакета.
  6. Запустите диагностикуЗапустите brew doctor без sudo. Прочитайте предупреждения о нестандартных владельцах, префиксах и компонентах Xcode; если программа предлагает действия с правами администратора, оцените их отдельно. Запись Your system is ready to brew свидетельствует об отсутствии найденных типовых проблем, но не гарантирует исправность всех сторонних пакетов. Снова попробуйте первоначальную команду установки.
  7. Обновитеbrew update обновляет сведения о формулах, а brew upgrade может обновить ВСЕ установленные пакеты и затронуть работающие приложения. Сначала выполните только brew update при работающем префиксе и оцените вывод. brew upgrade запускайте отдельно после проверки совместимости и резервного копирования, а не как обязательный шаг для исправления Permission denied. Если ошибка сохраняется, сохраните путь и вывод для поддержки.
  8. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Каталог Homebrew, владелец и права
    Linux · Терминал (Bash)Команда
    Каталог Homebrew, владелец и права
    brew --prefix
    ls -ld "$(brew --prefix)" "$(brew --prefix)/Cellar"
    whoami
    Вариант 2Удалён массовый рекурсивный chown/chmod по всему Homebrew
    Linux · Терминал (Bash)КомандаНужен sudo
    Удалён массовый рекурсивный chown/chmod по всему Homebrew
    # ТОЛЬКО диагностика
    brew --prefix
    id -un
    ls -ldeO "$(brew --prefix)" "$(brew --prefix)/Cellar" 2>/dev/null
    Вариант 3Удалено создание /usr/local/Cellar и рекурсивное присвоение прав без диагностики
    Linux · Терминал (Bash)КомандаНужен sudo
    Удалено создание /usr/local/Cellar и рекурсивное присвоение прав без диагностики
    # Не создавайте и не присваивайте себе каталоги Homebrew вслепую
    brew doctor
    Вариант 4Изменения всех пакетов исключены из обязательного сценария
    Linux · Терминал (Bash)Команда
    Изменения всех пакетов исключены из обязательного сценария
    # Проверка и обновление каталога формул
    brew doctor
    brew update
    # brew upgrade — отдельно после оценки списка изменений
    Вариант 5Не добавлять shellenv в ~/.zprofile повторно без проверки существующей строки
    Linux · Терминал (Bash)Команда
    Не добавлять shellenv в ~/.zprofile повторно без проверки существующей строки
    # Если brew уже доступен: проверьте используемый путь
    command -v brew
    brew --prefix

#Типичные случаи

Если после всех исправлений ошибки остаются, выполните brew doctor, исправьте предупреждения по одному и повторите установку пакета с подробным выводом: brew install -v имя. Это покажет, на каком каталоге происходит отказ.

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

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

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