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
相关推荐
无名之逆8 分钟前
轻量级、高性能的 Rust HTTP 服务器库 —— Hyperlane
服务器·开发语言·前端·后端·http·rust
无名之逆32 分钟前
探索Hyperlane:用Rust打造轻量级、高性能的Web后端框架
服务器·开发语言·前端·后端·算法·rust
穆骊瑶32 分钟前
Java语言的WebSocket
开发语言·后端·golang
追逐时光者1 小时前
精选 5 款基于 .NET 开源、功能强大的编辑器
后端·.net
uhakadotcom1 小时前
阿里云 MaxCompute SQLML:轻松实现机器学习
后端·面试·github
Asthenia04122 小时前
[4-Consumer]消费者端实现心跳功能
后端
Asthenia04122 小时前
[3-Consumer]回答面试官关于 MQ 项目中 Topic+Tag 二级消息过滤的思路整理
后端
Asthenia04122 小时前
[2-Consumer]如何回答面试官关于 MQ 轮子项目中 Push 和 Pull 混合消费的实现思路
后端
Asthenia04122 小时前
在面试中我被问到RocketMQ的延时队列是如何实现的。谈谈回答的思路
后端
Asthenia04122 小时前
[1]如何设计一个优雅的消息重试机制:我在自研 MQ 项目中的实践
后端