如何使用自制软件安装早期版本的mongodb?


69

我使用的是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$ 

(((((题。)))


Answers:


48

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

因此,要安装该版本:

brew install homebrew/versions/mongodb26

谢谢。我尝试过,终端挂了,我想这是它所说的最后==> 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
代理Zebra

1
您让它运行了多长时间才终止它?那只是一个典型的自制程序安装。它是从源代码编译mongodb的,因此需要花费几分钟,您不一定会看到任何输出。
科迪·海恩斯

谢谢,我不知道那个哦!大声笑,我再次尝试,最终加载。关于mongod -v的很多疯狂消息,但是也许我可以从这里弄清楚。谢谢你的帮助!
斑马特工

1
mongod --version有更少的“疯狂消息”。更具体地说,mongod -v仅以详细模式运行mongod,而不显示版本信息。祝您好运:)
Cody Haines

9
这个答案似乎有点过时了。homebrew/versions was deprecated.
frhd

210

注意:2019年9月已从自制软件核心mongodb删除,因此这些说明已更新为可以使用,mongodb-community而是从外部水龙头安装的。

如果您当前的安装仍是9月之前的 mongodb软件包,则在以下链接标记的行上取消链接,停止,重新链接和开始时,将需要使用该名称#*#

另一个选择是立即从已弃用的软件包中升级

多亏了,我已经安装了最新版本的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          #*#

并重新启动。


9
不确定为什么将其列出在底部,这是迄今为止最好的答案,也是最受欢迎的答案
Simon

我遇到了不同版本的兔子洞,这是唯一对我有用的解决方案。
Devin

1
现在,brew在安装了替代版本的公式(例如brew install mongodb@3.6)后会通过以下方式告诉您,以设置$ PATH:echo 'export PATH="/usr/local/opt/mongodb@3.6/bin:$PATH"' >> ~/.bash_profile
pnd

为什么这不是答案?这实际上帮助我解决了,谢谢吨!
Zeid Tisnes '20

@pnd更新PATH是重新链接的一种替代方法,但是我们必须source ~/.bash_profile在每个关心的开放终端中进行更新。我提出了建议unlinklink因为这会切换整个系统的mongo版本,这可以减少混乱。高级用户当然可以根据需要更新PATH
joeytwiddle

2
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。幸运的是,您的评论帮助我解决了这个问题,还帮助我同时安装了两个版本。
TommyDo's

2

您可以使用docker安装任意数量的mongodb版本,而无需使用自制软件。每个mongodb然后可以在单独的端口上运行。

使用安装docker,brew cask install 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

2

除了joeytwiddle的出色答案之外:

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

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

1

我能够按照以下说明进行安装:

在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,只需通过访问Web浏览器中的链接将上面的文件下载并将其移至主目录即可。

我们将在/ 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"

完成所有操作后,您应该能够在重新加载外壳程序以启动MongoDB之后简单地键入mongod。我不希望在启动时启动mongod,但是还有其他一些人更喜欢这样做,并且在线上有大量文档向您展示如何通过启动和创建.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
CodeShadow

1

如果要在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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.