如何用 Bazel 从源码构建 MongoDB 的 mongod 并验证二进制可运行

发布时间:2026/9/12 7:40:05

如何用 Bazel 从源码构建 MongoDB 的 mongod 并验证二进制可运行 如何用 Bazel 从源码构建 MongoDB 的 mongod 并验证二进制可运行【免费下载链接】mongoThe MongoDB Database项目地址: https://gitcode.com/GitHub_Trending/mo/mongo如果你的目标是把 MongoDB 源码编译出自己的mongod数据库服务器而不是下载预编译包并且要在构建结束后确认二进制确实能跑这篇文章给出的操作路径是安装项目提供的 Bazel 引导脚本、用bazel build构建install-mongod或install-dist-test目标最后用--version验证产物。适用环境为 docs/building.md 中列出的平台与编译器版本。构建前的硬性条件按 docs/building.md 的要求编译 MongoDB 源码需要满足以下条件支持 C20 的现代 C 编译器且必须是以下已验证版本之一GCC 14.2Clang 19.1Apple XCode 16.4Visual Studio 2022 version 17.0使用更新版本的编译器“可能可行”但文档明确说只有上述版本经过验证。Linux 和 macOS 上还需要 libcurl 库及头文件macOS 自带。按发行版安装Fedora/RHELdnf install libcurl-develUbuntu/Debianlibcurl-dev由三个包提供任选其一安装libcurl4-openssl-dev、libcurl4-nss-dev、libcurl4-gnutls-devUbuntu 另需 lzma 库liblzma-devAmazon Linux 另需xz-develyum install xz-develPython 3.13约 13 GB 空闲磁盘空间用于存放核心二进制mongod、mongos和mongo支持的架构为 arm64、ppc64le、s390x 和 x86-64。Debian/Ubuntu 上文档额外要求安装build-essential# apt-get install build-essential。Windows 和 macOS 的附加要求WindowsVisual Studio 2022 version 17.0 或更高版本、Python 3.13macOSXcode 16.4 或更高版本确认已安装 macOS 15.5 platform并通过 brew 安装brew install llvm19 lld19安装 Bazel运行项目提供的引导脚本MongoDB 仓库不要求你自行安装 Bazel而是提供 buildscripts/install_bazel.py 引导脚本。该脚本会下载 bazelisk 和 buildozer 到~/.local/bin目录不存在时会创建并在~/.local/bin中把bazel软链到下载的bazelisk。脚本会访问网络下载二进制、写入你的用户目录~/.local/bin这是它唯一修改环境的位置。脚本末尾还会检查bazel是否在 PATH 中若不在会提示你把~/.local/bin加入 PATH 的具体命令。在仓库根目录执行python buildscripts/install_bazel.py export PATH~/.local/bin:$PATH第二条命令是必需的脚本默认把二进制装到~/.local/bin只有该目录在 PATH 中后面的bazel命令才可用。构建 mongod 安装树文档给出的最短验证路径是构建install-dist-test后直接运行--versionLinux 的 Quick (re)Start 段落bazel build install-dist-test bazel-bin/install/bin/mongod --version如果你的目标只有mongod本身可以改用更小的install-mongod目标bazel build install-mongod两个目标的区别install-dist-test会额外打包测试用组件mongos、mongoshell 等产物是完整安装树install-mongod只安装mongod及其依赖见仓库根 BUILD.bazel 中的mongo_install(name mongod, ...)定义。文档还列出其他可组合目标供参考install-mongos、install-core仅mongod和mongos、install-dist全部服务端组件、install-devcore含jstestshell。文档提醒install-core与install-dist不保证一致install-core只含最小子集install-dist面向终端用户使用测试时应优先用install-devcore或install-dist。如果编译器的版本高于文档支持版本新版本可能引入新的告警而构建系统把告警当错误处理会导致构建失败。文档给出的解法是在 bazel 命令上加开关bazel build install-mongod --disable_warnings_as_errorsTrue如果确实要构建所有东西mongod、mongo、单元测试等命令是bazel build --build_tag_filtersmongo_binary //src/mongo/...这条命令范围远大于“构建并验证 mongod”只在需要完整构建时才使用。找到产物并验证可运行构建系统的产物位置见 docs/building.md 的 Where to find Binaries统一安装树bazel-bin/install各 install 目标自己的安装树bazel-bin/install-target因此构建install-dist-test后mongod位于bazel-bin/install/bin/mongod构建install-mongod后可在bazel-bin/install-mongod对应的安装树中找到该二进制验证方式就是文档给出的--version命令bazel-bin/install/bin/mongod --version能正常打印版本信息说明二进制可执行。文档没有给出--version的固定预期输出实际输出取决于你构建的源码版本不要以某段固定日志作为成功标准。如果后续要继续把单节点 mongod 跑起来仓库 README 给出的运行方式是$ mkdir -p /data/db $ ./mongod其中mkdir -p /data/db在原文中带了sudo数据目录默认路径为/data/db。这是验证完成后的下一步操作与本文的构建验证任务本身无关但文档明确给出了该入口。常见构建限制编译器必须使用已验证版本之一。用更高版本编译器时若因新告警导致构建失败按上文加--disable_warnings_as_errorsTrue。Linux/macOS 缺少 libcurl 头文件或 lzma/xz 库时构建会失败需先按发行版安装对应开发包。磁盘不足 13 GB 时不要开始构建文档给出的空间需求仅覆盖核心二进制。仓库同时提供docs/devcontainer/下的 devcontainer 说明和 bazel/docs/developer_workflow.mdBazel 构建定义开发流程前者是容器化开发环境入口后者面向修改BUILD.bazel的开发者不属于本文构建验证主路径仅在对应场景下参考。【免费下载链接】mongoThe MongoDB Database项目地址: https://gitcode.com/GitHub_Trending/mo/mongo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/12 8:35:11

Midscene.js 自动化测试:3步跑通第一个AI视觉用例

Midscene.js 自动化测试:3步跑通第一个AI视觉用例 【免费下载链接】midscene GUI Agent for E2E Testing 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 改完页面,又要手动点一遍验证?DOM 选择器(定位网页元…

2026/9/12 8:35:11

Vibe-Trading Wiki 静态站点架构与 AI-Agent 流量分析实战指南

Vibe-Trading Wiki 静态站点架构与 AI-Agent 流量分析实战指南 【免费下载链接】Vibe-Trading "Vibe-Trading: Your Personal Trading Agent" 项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading 本篇技术指南围绕 Vibe-Trading 官方文档站点&am…

2026/9/12 8:35:11

AI Agent案例库:21个可跑场景的30分钟效果验证

AI Agent案例库:21个可跑场景的30分钟效果验证 【免费下载链接】500-AI-Agents-Projects The 500 AI Agents Projects is a curated collection of AI agent use cases across various industries. It showcases practical applications and provides links to open…

2026/9/12 8:35:11

Google Pixel 10a评测:中端机皇的AI摄影与性能突破

1. Google Pixel 10a 产品概述Google Pixel 10a 作为 Pixel a 系列的最新成员,延续了该系列"高性价比旗舰体验"的核心定位。这款设备在保持亲民价格的同时,通过多项硬件升级重新定义了中端机的标准。最引人注目的是其全新设计的平整后盖&#…

2026/9/12 8:30:10

Blender渲染优化:本地与云渲染方案全解析

1. 渲染方式选择的核心考量因素 当我们在Blender中完成3D场景制作后,渲染环节的选择往往让创作者陷入纠结。本地渲染和云渲染农场各有拥趸,但实际选择时需要综合考量多个维度因素。 1.1 项目规模与复杂度评估 渲染需求首先取决于项目本身特性&#xff…

2026/9/12 2:05:33

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/12 3:55:12

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码