запуск brew-сервисов mongodb-community@4.0 завершился неудачно - неинициализированная константа - PullRequest
8 голосов
/ 05 мая 2019

Я следовал инструкциям MongoDB docs , чтобы установить MongoDB на Mac с помощью homebrew:

brew tap mongodb/brew
brew install mongodb-community@4.0

Тогда я могу запустить его на переднем плане, используя:

mongod --config /usr/local/etc/mongod.conf

Но при попытке запустить его как сервис, используя:

brew services start mongodb-community@4.0

Я получаю эту ошибку:

Error: mongodb-community: uninitialized constant #<Class:0x00007ff189061008>::Gem

Я также получаю эту ошибку при запуске brew doctor:

Warning: Some installed formulae are not readable:
  mongodb-community: uninitialized constant #<Class:0x00007ffd903152a0>::Gem

Почему это происходит? Как мне это исправить?

Спасибо!

Ответы [ 2 ]

8 голосов
/ 11 мая 2019

Это ошибка с формулой mongodb-community. Проблема была подана сопровождающим, найдено решение и запрос на извлечение с открытым исправлением .

Тем временемВы можете исправить ошибку самостоятельно. Эта строка в формуле вызывает исключение:

Gem::Version.new(v['version'])

, поскольку класс Gem не был импортирован.Добавление импорта:

require 'rubygems'

решает проблему.Вы можете сделать это локально, найдя и отредактировав формулу на своем компьютере.Это, вероятно, находится в этом файле:

/usr/local/Homebrew/Library/Taps/mongodb/homebrew-brew/Formula/mongodb-community.rb

Обновление: Участник сообщества исправил это в апстриме.Если проблема не устранена, возможно, вам нужно запустить brew update

2 голосов
/ 10 мая 2019

Я знаю, что это неправильный ответ, поскольку мы говорим о регистрации службы с использованием:

brew services start mongodb-community

Но у меня решено вопрос регистрации службы таким образом:

sudo cp /usr/local/Cellar/mongodb-community/4.0.9/homebrew.mxcl.mongodb-community.plist /Library/LaunchAgents/

launchctl load -w /Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist

launchctl start mongodb-community
...