我已按照MongoDB docs上的说明使用自制软件在Mac上安装MongoDB:
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
为什么会这样?我该如何解决?
谢谢!
答案 0 :(得分:8)
这是mongodb-community公式的错误。 An issue has been filed和维护者a solution found和a pull request with the fix已打开。
在此期间,您可以自己修复错误。公式中的This line引发异常:
Gem::Version.new(v['version'])
因为尚未导入Gem类。添加导入:
require 'rubygems'
解决了问题。您可以通过在计算机上查找和编辑公式来本地执行此操作。可能在此文件中:
/usr/local/Homebrew/Library/Taps/mongodb/homebrew-brew/Formula/mongodb-community.rb
更新:社区贡献者已在上游修复此问题。如果您仍然遇到此问题,则可能需要运行brew更新
答案 1 :(得分:2)
我知道这不是正确的答案,因为我们正在谈论使用以下方法注册服务:
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