Mac 安装MongoDB 社区版

这篇笔记,主要记录Mac安装MongoDB社区版,参考官方安装教程, 我们使用Mac的包管理工具Homebrew 进行安装。

安装步骤

  1. 添加 MongoDB 的 Homebrew Tap,以下载官方的 Homebrew 配方(formula)和数据库工具(Database Tools)
  2. 更新HomeBrew
  3. 运行命令安装MongoDB
添加 MongoDB 的Homebrew Tap

在 macOS 终端中运行以下命令,添加 MongoDB的Homebrew Tap,下载官方的 Homebrew 配方(formula)和数据库工具(Database Tools):

bash 复制代码
brew tap mongodb/brew
为什么是brew tap呢?

"tap"的常见中文释义有"水龙头;轻敲;轻拍"等。在"brew tap"中,"tap"的含义与"水龙头"相关,以下是"brew tap"用"tap"命名的原因:

  • 类比啤酒酿造和分发过程: Homebrew把软件包管理系统类比为家酿啤酒的过程。在这个类比中,Homebrew本身相当于存放啤酒的"酒窖",而安装的软件就相当于"酒"或"酒桶"。酒窖中的啤酒通过水龙头(tap)流出工人饮用,类比到软件包管理中,"brew tap"就是让用户能够从特定的"软件源"(类似酒窖中的啤酒桶)中获取软件(类似流出的啤酒)的机制,通过"tap"命令可以添加第三方软件仓库,就像打开一个新的水龙头,让用户能够访问和安装原本不在Homebrew核心仓库中的软件包
  • 形象表达数据流动和获取: "tap"有控制液体流动的意思,在软件包管理的情境下,也形象地表达了从软件仓库中获取软件包数据的过程,就像通过水龙头控制水的流动一样,用户可以通过"brew tap"来控制从特定的软件源获取软件包,实现软件的安装、更新等操作
执行更新 brew update
bash 复制代码
brew update

更新homebrew

为什么要在brew tap之后执行brew update
  • 更新软件源信息: brew tap用于添加新的软件仓库(软件源),而brew update则会更新本地的软件源信息。添加新的软件源后,只有通过update操作,Homebrew才能获取新软件源中可用软件包的最新列表、版本信息以及其他元数据,这样才能确保后续可以准确地从新添加的软件源中安装、升级软件包
  • 确保软件源同步 :软件源中的软件包信息会不断更新,包括新软件包的发布、现有软件包的版本更新以及软件包依赖关系的变化等。执行brew update可以使本地的软件源信息与远程服务器上的信息保持同步,避免因软件源信息过时导致安装错误版本的软件包或出现依赖关系问题
  • 解决潜在冲突 : 新添加的软件源可能与已有的软件源存在一些冲突或不一致的地方,例如软件包名称相同但版本不同等。brew update有助于 Homebrew 重新整理和协调这些软件源信息,解决潜在的冲突,确保在安装和管理软件包时能够做出正确的决策
安装mongodb-community
bash 复制代码
brew install mongodb-community

看到这个To start mongodb/brew/mongodb-community now and restart at login:, 就表示安装成功了

启下服务实施

bash 复制代码
brew services start mongodb/brew/mongodb-community
相关推荐
java叶新东老师30 分钟前
goland编写go语言导入自定义包出现: package xxx is not in GOROOT (/xxx/xxx) 的解决方案
开发语言·后端·golang
码事漫谈2 小时前
C++模板元编程从入门到精通
后端
_風箏2 小时前
Java【代码 14】一个用于判断磁盘空间和分区表是否需要清理的工具类
后端
_風箏2 小时前
Java【代码 13】前端动态添加一条记后端使用JDK1.8实现map对象根据key的部分值进行分组(将map对象封装成指定entity对象)
后端
_風箏2 小时前
Java【代码 12】判断一个集合是否包含另一个集合中的一个或多个元素 retainAll() 及其他方法
后端
Java中文社群2 小时前
Coze开源版?别吹了!
人工智能·后端·开源
懂得节能嘛.3 小时前
【SpringAI实战】ChatPDF实现RAG知识库
java·后端·spring
站大爷IP3 小时前
Python爬虫库性能与选型实战指南:从需求到落地的全链路解析
后端
小杰来搬砖3 小时前
在 Java 的 MyBatis 框架中,# 和 $ 的区别
后端
wenb1n3 小时前
【安全漏洞】隐藏在HTTP请求中的“隐形杀手”:Host头攻击漏洞深度剖析
java·后端