我使用的是 mac osx 10.10.5
这个问题在执行步骤之前和之后被问过很多次,我注意到奇怪的行为。
这些是我已采取的步骤
brew tap gapple/services
brew install mongodb
这将安装产品,现在当我这样做时
brew services list
我可以看到 mongodb 处于停止状态。
当我尝试通过
brew services start mongodb
启动该过程时,出现错误
错误:无法读取
mongodb
! 的 plist
好的。我用谷歌搜索了解决方案
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/mongodb/3.0.6/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents/
现在,只要复制文件,当我这样做时
brew services list
... mongo 进程就会自动运行。
现在当我这样做时
brew services stop mongodb
它说
Error: Service `mongodb` not running, wanna start it? Try `brew services start mongodb`
现在这很奇怪,因为就在最后一步它说它正在运行。现在当我这样做时
mongodb services list
它说服务已停止。 (所以上面的停止命令确实有效。即使它抛出了一个错误)。
现在如果我这样做了
brew services start mongodb
它给出错误错误:无法读取
mongodb
的plist!
现在如果我再次复制文件
cp /usr/local/Cellar/mongodb/3.0.6/homebrew.mxcl.mongodb.plist ~/Library/LaunchAgents/
服务自动开始运行。
我觉得整件事真的很奇怪。我想要的只是一种干净的方式来启动停止 mongo db 服务。尽管此网站(和其他地方)上有很多线程......但它们不起作用或只是有奇怪的行为。
brew services start/restart/stop [email protected]
对我来说,我有多个版本的 mongodb,当我尝试在它们之间切换时,出现此错误
Error: Could not read the plist for `mongodb26`!
这就是我启动 mongodb26 服务的方法。
brew unlink mongodb24
brew link mongodb26
brew services start mongodb26
您可以通过以下方式列出服务
brew services list
然后正如答案之一所说 brew services start [NAME]
或 brew services stop [NAME]
我认为你应该看看他们的 Github 存储库。我 gapple/services 已弃用。这可能是一个更新的选项。
我亲自跑步
brew services start mongodb-community
(仅运行“brew services start mongodb”时,我会收到错误消息)
在 Hombrew 内部,简单的方法是获取 MongoDB 的进程 id 并杀死它。 获取pid:
pgrep mongo
然后用这个命令杀死
kill <pid>