Доморощенный вопрос установки разрешений - PullRequest
38 голосов
/ 21 марта 2012

У меня есть стандартная домашняя установка внутри 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'

Чтоя делаю не так?

Ответы [ 5 ]

121 голосов
/ 21 марта 2012

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

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

ls -ld /usr/local/Cellar

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

sudo chmod a+w /usr/local/Cellar

9 голосов
/ 30 мая 2015

Не используйте 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, чтобы увидеть, что не так.

6 голосов
/ 25 ноября 2014

Я бы изменил права доступа группы:

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

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

1 голос
/ 23 ноября 2015

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

Use su userWhoInstalledBrew.

0 голосов
/ 18 марта 2016

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

sudo chown -R $USER /usr/local

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

...