Установка в Homebrew ошибок - PullRequest
       41

Установка в Homebrew ошибок

113 голосов
/ 26 января 2011

Попытка установить rvm и ruby ​​1.9.2

Я уже установил homebrew и git, но не смог получить полные обновления, потому что продолжал получать ошибки разрешения.Переустановил Snow Leopard и восстановил разрешения.

Теперь это происходит ...

$ brew install wget

Ошибка: невозможно выполнить запись в / usr / local /Подвал

Ответы [ 8 ]

276 голосов
/ 25 февраля 2011

sudo chown -R $USER /usr/local

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

Я не уверен, что это делает рубиновый однострочный. Если это так, то что-то еще в моей системе взяло под контроль /usr/local с тех пор.

Редактировать : я полностью пропустил это, но @ samvermette этого не сделал (см. Ответы на мой ответ): если вы запускаете эту команду выше и у вас установлено что-то через homebrew, что требует специальные пользовательские разрешения, такие как mysql, не забудьте вернуть эти разрешения (так как приведенная выше команда дает рекурсивное владение всем, что находится внутри /usr/local вам ($USER). В случае mysql это…

sudo chown -RL mysql:mysql /usr/local/mysql/data

40 голосов
/ 08 ноября 2013

У меня была эта проблема после обновления до Mavericks, и эта страница была лучшим результатом поиска при поиске сообщения об ошибке.Я продолжил поиск и нашел этот ответ в стеке overflow.com .Короче говоря, это:

sudo chmod a+w /usr/local/Cellar

Это устранило проблему для меня, и, поскольку оно только изменяет разрешения для конкретного пути, на который ссылается сообщение об ошибке, казалось маловероятным, чтобы иметь отрицательные побочные эффекты с другими установками.1006 *

Я размещаю этот ответ здесь для всех, кто может найти эту страницу первым, как я.Тем не менее, кредит должен идти в JDI .

11 голосов
/ 14 декабря 2015

Вы можете разрешить только администраторам запись в /usr/local/?

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

После этого каждый пользователь, входящий в группу администраторов, сможет устанавливать новые зависимости.

5 голосов
/ 12 октября 2017

В High Sierra вам нужна следующая команда, потому что chown не будет работать:

sudo chown -R $ (whoami) $ (brew --prefix) / *

Ссылка:

https://github.com/Homebrew/brew/issues/3228

2 голосов
/ 30 июня 2016

удалите и переустановите HomeBrew, который сделает свое дело

1 голос
/ 20 сентября 2015

Я предлагаю убедиться, что текущий пользователь является членом группы, которая владеет / usr / local. Я считаю, что по умолчанию эта группа wheel. Чтобы стать членом этой группы:

$ sudo dscl . append /Groups/wheel GroupMembership $USER

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

0 голосов
/ 02 февраля 2015

РЕДАКТИРОВАТЬ : Как уже упоминалось в комментариях, плохая идея использовать sudo с домашним пивом, поэтому не используйте следующий ответ!


Вы также можете предотвратить эту ошибкуесли вы выполните команду с sudo:

$ sudo brew install wget

Но позаботьтесь об использовании sudo, потому что вы можете сделать много ошибок.

0 голосов
/ 26 января 2011

Как вы установили Homebrew? Их официальные инструкции по установке включают запуск сценария ruby. Это должно позаботиться о разрешении вопросов для вас.

Если вы не хотите запускать сценарий, есть раздел этой страницы под названием «Установка в / usr / local for Developers», в котором объясняется изменение разрешений, необходимых для каталога / usr / local.

...