如何在OS X上卸载过时的mongodb版本?

时间:2014-02-27 22:02:11

标签: macos mongodb homebrew

我在OS X上有一个过时的mongodb版本(1.8.2),我不能为我的生活弄清楚如何摆脱它。它是几年前安装的,我认为与自制软件。使用brew update && brew upgrade mongo升级它让我获得了mongo客户端的最新版本(2.4.9),但是当我打开客户端并运行时

use admin
db.runCommand({buildInfo:1})

我得到了

{
  ...
  "version" : "1.8.2",
  ...
}

当我问

which mongo

我得到了

/usr/local/bin/mongo

的符号链接(如预期的那样)
/usr/local/Cellar/mongodb/2.4.9/bin/mongo

/usr/local/opt/mongodb

似乎已正确符号链接到

/usr/local/Cellar/mongodb

查看/usr/local/Cellar/mongodb,我发现了两个过时的版本(其中一个是1.8.2)并移动了它们以查看会发生什么。答案是什么。 Mongo客户端仍然启动并将客户端版本报告为2.4.9,但db.runCommand({buildInfo:1})仍然报告1.8.2。我已经通过自制软件卸载并重新安装,但只是不知道罪魁祸首在哪里。非常感谢任何帮助。

4 个答案:

答案 0 :(得分:4)

基于您在OS X中运行MongoDB的事实,以下是我的假设:

  1. 这不是PRODUCTION系统
  2. 这是一个沙箱,用于开发和/或学习MongoDB。
  3. 您可以丢失当前在此MongoDB实例上拥有的所有数据
  4. 如果我的所有3个假设都是真的,你可以去手动删除所有mongoDB可执行文件。它们应该都在同一个目录中。将该目录移动到废纸篓,以及dbpath和日志路径的内容。

    在mongo shell中运行getCmdLineOpts命令将帮助您识别dbpath和日志路径 http://docs.mongodb.org/manual/reference/command/getCmdLineOpts/

    此链接包含重新安装MongoDB的说明: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/

    如果您有任何问题,请告诉我。

答案 1 :(得分:1)

它是brew update,然后brew upgrade mongodb不是brew update mongo

答案 2 :(得分:1)

感谢您的意见,你们。答案结果证明是一个特别顽固的mongod版本。它设置为使用launchctl在系统启动时启动,因此即使我重新启动计算机它也会持续存在。我按照this rather old post中的建议从launchctl中删除了它,然后通过从mongo shell运行以下命令来停止mongod:

> use admin
> db.shutdownServer()

之后我从/usr/local/Cellar/mongodb/2.4.9/homebrew.mxcl.mongodb.plist复制了自制的mongo plist文件 进入/Library/LaunchDaemons并运行

$ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.mongodb.plist

重启机器,一切似乎都运行良好2.4.9。

答案 3 :(得分:0)

如果您安装了旧版本,最好使用ls /usr/local/Cellar检查文件夹

我在一个名为mongodb26的文件夹下进行了安装,因为我手动选择使用MongoDB 2.6。在这种情况下,只是brew uninstall mongodb无法工作。我不得不做brew uninstall mongodb26。知道一点点好事。