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

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

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

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

$ brew установить wget

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

8 ответов

sudo chown -R $USER /usr/local

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

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

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

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

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

sudo chmod a+w /usr/local/Cellar

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

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

Вы можете разрешить только администраторам писать в /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

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

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

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

Ссылка на сайт:

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

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

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

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

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

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

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

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

$ sudo brew install wget

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

Другие вопросы по тегам