【问题标题】:How to install earlier version of mongodb with homebrew?如何使用自制软件安装早期版本的 mongodb?
【发布时间】:2015-05-21 16:13:57
【问题描述】:

我在osx6.8上,需要安装Mongodb的早期版本,如何使用HomeBrew安装早期版本?

下面没有工作:(

dream-2:app2 star$ brew install mongodb-2.6.10
Error: No available formula for mongodb-2.6.10 
Searching formulae...
Searching taps...
dream-2:app2 star$ 

编辑:
我收到一条消息来解释这篇文章与另一篇文章相比有何独特之处,嗯,另一个问题的答案非常冗长和复杂,它特定于postgresql,并没有真正回答我的问题。

【问题讨论】:

标签: mongodb homebrew


【解决方案1】:

注意:在 2019 年 9 月,mongodb 是来自自制程序核心的 removed,因此这些说明已更新为使用 mongodb-community,而是从外部水龙头安装。

如果您当前的安装仍然是 pre-September mongodb 软件包,那么您将需要在取消链接、停止、重新链接和启动时使用该名称,在标有 #*# 的行上下面。

另一种选择是现在简单地 upgrade 远离已弃用的软件包。

我已经安装了最新版本的 mongo,谢谢。

brew tap mongodb/brew

brew install mongodb-community

但有时我想切换到旧版本。首先,安装它:

brew search mongo

brew install mongodb-community@3.2

让我们停止当前的 mongodb,如果它正在运行:

brew services stop mongodb/brew/mongodb-community           #*#

# or if you had started it manually

killall mongod

现在我想要 PATH 上的 3.2 而不是最新的:

brew unlink mongodb-community                               #*#

brew link --force mongodb-community@3.2

(显然它需要--force,因为它是仅限小桶的。)

现在我的 PATH 上有 3.2,我可以启动测试数据库了:

mongod --version

brew services start mongodb/brew/mongodb-community

# or start your own mongod from the command-line

完成后,我可以反向切换回最新版本:

brew services stop mongodb/brew/mongodb-community

brew unlink mongodb-community@3.2

brew link mongodb-community                                 #*#

brew services start mongodb/brew/mongodb-community          #*#

然后重新启动。

【讨论】:

  • 不确定为什么会在底部列出,这是迄今为止最好的答案,也是最受好评的
  • 我陷入了不同版本的兔子洞,这是唯一对我有用的解决方案。
  • brew 现在会在安装公式的替代版本(例如 brew install mongodb@3.6)后告诉您通过:echo 'export PATH="/usr/local/opt/mongodb@3.6/bin:$PATH"' >> ~/.bash_profile 设置您的 $PATH
  • 为什么这不是答案?这实际上帮助我解决了,谢谢!
  • @pnd 更新PATH 是重新链接的替代方法,但是我们必须在我们关心的每个打开的终端中source ~/.bash_profile。我提出了unlinklink,因为这会为整个系统切换 mongo 版本,这可能会减少混乱。高级用户当然可以根据需要更新PATH
【解决方案2】:

当尝试使用自制软件安装旧版本时,通常以brew search packagename 开头很有用,在这种情况下,homebrew/versions/mongodb26 下有一个 2.6 版本

所以,要安装那个版本:

brew install homebrew/versions/mongodb26

编辑

这个答案肯定已经过时了。查看answer below,了解在 2021 年实现这一目标的有效方法。

【讨论】:

  • 谢谢。我试过了,我想终端挂了,这是它说的最后一句话,(这是什么意思?):==> Installing mongodb26 from homebrew/homebrew-versions ==> Downloading https://fastdl.mongodb.org/src/mongodb-src-r2.6.8.tar.gz ######################################################################## 100.0% ==> /usr/local/opt/scons/bin/scons install --prefix=/usr/local/Cellar/mongodb26/2.6.8 -j8 --cc=/usr/bin/gcc-4.2 --cxx=/usr/bin/g++-4.2 --osx-version-min=10.6
  • 在终止之前您让它运行了多长时间?这只是一个典型的自制程序安装。它是从源代码编译 mongodb,所以需要几分钟,而且您不一定会看到任何输出。
  • 谢谢,我不知道哦!大声笑,我又试了一次,最终它加载了。很多关于做 mongod -v 的疯狂消息,但是,也许我可以从这里弄清楚。感谢您的帮助!
  • mongod --version 的“疯狂消息”要少得多。更具体地说,mongod -v 只是以详细模式运行 mongod,而不是显示版本信息。祝你好运:)
  • 这个答案似乎有点过时了。 homebrew/versions was deprecated.
【解决方案3】:
curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.2.12.tgz
tar -zxvf mongodb-osx-x86_64-3.2.12.tgz
mkdir -p mongodb
cp -R -n mongodb-osx-x86_64-3.2.12/ mongodb
export PATH=<mongodb-install-directory>/bin:$PATH #path to the dir created in step 3
mkdir -p /data/db
sudo chown -R $(whoami) /data/
mongod

【讨论】:

  • Homebrew 只允许安装 min 3.0。但是,我需要使用 2.6。幸运的是,您的评论帮助我解决了这个问题,还帮助我安装了同时运行的 2 个版本。
【解决方案4】:

除了 joeytwiddle 的出色回答之外:

如果您不想链接,则取消链接旧版本的软件,您可以从 brew 安装它的“地窖”(/usr/local/Cellar/)运行它。 使用ls /usr/local/Cellar/ 查找可执行文件的确切路径。例如在我的情况下,运行 mongo shell:

/usr/local/Cellar/mongodb@3.6/3.6.7/bin/mongo

【讨论】:

    【解决方案5】:

    我可以使用这些说明安装它:

    在 OSX 上安装 MongoDB 以进行本地开发

    上周,我一直在 EC2 上构建我们的 MongoDB 集群 生产。但是,对于开发,我们仍然需要安装 本地 MongoDB。我正在运行 OSX 10.6.8,但这些安装 所有现代 OSX 版本的说明都应该相同。

    在 OSX 上安装比在 EC2 上更令人愉快(实际上它在 EC2 上同样简单,但由于它是一个更简单的设置,因此需要真正的配置或 挠头)。

    下载最新的二进制文件:

    curl -O http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.0.2.tgz

    注意!如果 您没有安装 wget,只需通过以下方式下载上面的文件 在您的网络浏览器中访问该链接并将其移至您的家中 目录。

    我们将在 /usr/local/mongodb 下安装所有内容 使事情井井有条。

    创建目录(用你的主用户名切换'youruser'):

    sudo mkdir /usr/local/mongodb

    sudo mkdir /usr/local/mongodb/log

    sudo mkdir/usr/local/mongodb/data

    sudo chown youruser /usr/local/mongodb/log

    sudo chown youruser /usr/local/mongodb/data

    sudo chgrp staff /usr/local/mongodb/log

    sudo chgrp staff /usr/local/mongodb/data

    解压缩二进制文件并将它们移动到正确的文件夹中:

    tar -xvzf ~/mongodb-osx-x86_64-2.0.2.tgz

    sudo mv ~/mongodb-osx-x86_64-2.0.2/* /usr/local/mongodb/

    为 mongod 创建一个配置文件:

    sudo vi /usr/local/mongodb/mongod.conf

    粘贴:

    dbpath=/usr/local/mongodb/data

    logpath=/usr/local/mongodb/log/mongod.log

    logappend=false

    bind_ip=127.0.0.1

    注意:dbpath 和 logpath 指定它们的路径 各个文件,logappend 设置为覆盖每个文件上的日志文件 启动数据库服务器,bind_ip 只允许本地连接。

    创建一个别名,以便发出 mongod 始终读取配置文件:

    vi ~/.profile

    粘贴:

    # MongoDB Alias'

    alias mongod="/usr/local/mongodb/bin/mongod --config=/usr/local/mongodb/mongod.conf"

    全部完成,您应该能够在重新加载 shell 后简单地键入 mongod 以启动 MongoDB。一世 不喜欢在启动时启动 mongod,但还有其他人喜欢 to 并且有大量在线文档向您展示如何设置 使用 launchd 并创建一个 .plist。

    http://alexanderwong.me/post/15259867190/installing-mongodb-on-osx-for-local-development

    【讨论】:

    • sudo chown youruser /usr/local/mongodb/log sudo chown youruser /usr/local/mongodb/data 可以编辑为 sudo chown $(whoami) /usr/local/mongodb/log sudo chown $(whoami) /usr/local/mongodb/data
    • Homebrew 是处理严肃业务的最佳工具。对工具本身进行重大更改,对流行应用程序的不同版本进行重大更改。
    【解决方案6】:

    您可以使用 docker 安装任意多个版本的 mongodb,而不是使用 homebrew。然后每个 mongodb 可以在不同的端口上运行。

    使用brew cask install docker 安装docker,然后打开Docker.app。 docker 运行后,转到终端并通过从https://hub.docker.com/_/mongo/ 中选择图像来安装您的 mongodb 版本,如下所示:docker run -d -p 28017:27017 --name mongo4 mongo:latest

    验证它是否使用docker ps 运行,并且您可以使用端口 28017 从您的应用程序连接到 mongodb。使用不同的名称和端口重复这些步骤以安装更多版本。享受吧!

    【讨论】:

    • 如何验证在这个 docker 实例中运行的 mongodb 版本? 3 年前我看过 docker,但当时它对我来说有点不直观,所以我一直使用 vms,任何帮助将不胜感激
    【解决方案7】:

    如果你想在 mac 上安装较早的 MongoDB 版本。转到链接https://docs.mongodb.com/v3.6/tutorial/install-mongodb-on-os-x/ 并选择您要安装的版本,它非常容易安装,试一试。大约有 2-3 个安装命令。

    例如,如果您要安装 3.6 版

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

    如果遇到错误

    If you need to have mongodb-community@3.6 first in your PATH run:
      echo 'export PATH="/usr/local/opt/mongodb-community@3.6/bin:$PATH"' >> ~/.bash_profile
    

    然后运行

    export PATH="/usr/local/opt/mongodb-community@3.6/bin:$PATH"
    

    确认是否安装成功:

    mongod -version
    

    【讨论】:

      猜你喜欢
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多