Проблема с разрешениями на установку Homebrew

У меня есть стандартная домашняя установка внутри usr/local/

Когда я пытаюсь:

Larson-2:~ larson$ brew install postgresql
Error: Cannot write to /usr/local/Cellar

И когда я использую sudo:

Larson-2:~ larson$ sudo brew install postgresql
Cowardly refusing to `sudo brew install'

Что я делаю неправильно?

Ответ 1

У вас как-то ограничено разрешение на /usr/local/Cellar. Brew не хочет устанавливать с sudo, поэтому он отказывается.

Проверьте разрешения:

ls -ld /usr/local/Cellar

Откройте их для записи:

sudo chmod a+w /usr/local/Cellar

Ответ 2

Не используйте sudo при работе с brew (по соображениям безопасности).

Вы должны простую настройку своих прав.

Итак, я бы пошел еще дальше и изменил разрешения на:

sudo chgrp -R admin /usr/local /Library/Caches/Homebrew
sudo chmod -R g+w /usr/local /Library/Caches/Homebrew

а затем примените определенную группу (либо admin или staff) к пользователю, которому должно быть разрешено использовать команду brew. Проверьте группы своего пользователя с помощью: id -Gn).

Если возникнут дополнительные проблемы, запустите: brew doctor, чтобы узнать, что не так.

Ответ 3

Я бы изменил групповые разрешения:

$ chgrp -R admin /usr/local/Cellar
$ chmod g+w /usr/local/Cellar

если ваша учетная запись пользователя находится в группе admin.

Ответ 4

Это также происходит, если на вашем компьютере установлено несколько пользователей. Если это так, вам было бы лучше сменить пользователя, так как каждый другой подход заставил бы вас возиться с гораздо большим количеством файлов и папок, чем просто /usr/local/Cellar

Используйте su userWhoInstalledBrew.

Ответ 5

Проблема может быть решена путем изменения владельца каталога на текущего пользователя:

sudo chown -R $USER /usr/local

Этот ответ взят из: https://github.com/Homebrew/homebrew/issues/17884