Подтвердить что ты не робот

Brew установить ошибку mongodb: Трусливый отказ от `sudo brew установить 'Mac OSX Lion

Я не уверен, почему я получаю эту ошибку:

$ brew install mongodb
==> Downloading http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.0.4.tgz
######################################################################## 100.0%
Error: Permission denied - /usr/local/var/log/mongodb

Итак, я пытаюсь запустить его с помощью sudo:

$ sudo brew install mongodb
Password:
Cowardly refusing to `sudo brew install'

Если я попытаюсь создать файл сам, я получаю следующее:

Error: File exists - /usr/local/var/log/mongodb

Это становится еще интереснее, когда вы читаете этот поток на homebrew github об ошибке:

https://github.com/mxcl/homebrew/issues/9953

Они заявляют, что brew не может записать файл, потому что он не является root, тогда они говорят это, потому что считают, что он не должен запускаться как root.

Это официальные инструкции по установке, что?

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

4b9b3361

Ответ 1

Ленивый (brew) способ:

ls -al /usr/local/bin/brew #confirm brew ownership
sudo chown root:wheel /usr/local/bin/brew
sudo brew install mongodb
sudo chown <your user>:<your group> /usr/local/bin/brew  #revert ownership

Способ не brew:

  • Загрузите дистрибутив mongodb из 10gen: http://www.mongodb.org/downloads
  • Установить файлы в /usr/local/bin/
  • Создайте файл конфигурации в файле /etc/mongo.conf(минимум, скажите, где хранить данные и, вероятно, скажите, чтобы он привязывался только к localhost): http://www.mongodb.org/display/DOCS/File+Based+Configuration
  • Создайте запуск script, который вызывает mongod -f /etc/mongo.conf

Ответ 2

Я продолжаю сталкиваться с этой проблемой снова и снова с различными пакетами brew (сегодня это был ImageMagick), поэтому я продолжаю возвращаться на эту страницу. Я просто собираюсь оставить свою версию вышеуказанных инструкций для себя, и, возможно, кому-то это тоже будет удобно.

ls -al `which brew` # note user/group
sudo chown root:wheel `which brew`
sudo brew install <package name>
sudo chown <your user>:<your group> `which brew` # revert ownership

с использованием which brew в обратных тиках заменяет ваш путь на brew.

(и как мне избежать обратных шагов?)

Ответ 3

Я все время получал эту ошибку, прежде чем осознавать... Я был SUDO SU'd!

Другими словами, у меня было корневое приглашение и я пытался запустить brew install. Не пытайтесь установить с помощью brew, если в командной строке указано # в конце.

Я чувствую себя глупо, но, возможно, это поможет кому-то другому.