Установка в 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) / *
Ссылка на сайт:
Я предлагаю убедиться, что текущий пользователь является членом группы, которая владеет / 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
потому что вы можете сделать много ошибок.