【免费下载链接】nanobrew
The fastest macOS package manager. Written in Zig. 3ms warm installs.
nanobrew是一款用Zig编写的 macOS/Linux 极速包管理器,单个 1.2 MB 的静态二进制替代 Homebrew 约 57 MB 的 Ruby 运行时,已安装包的热安装最快仅需约 3ms。它复用 Homebrew 的 formula、bottle 和 cask 生态,是即插即用的 Homebrew 替代品,冷安装快约 7.6 倍,热安装快约 11.8 倍。
一、为什么选择 nanobrew?
对于每天在 Mac 上敲brew install的开发者来说,等待brew update、Ruby 启动开销和 Gatekeeper 弹窗是常态。nanobrew 用几个关键设计换来了速度:
- ⚡无 Ruby 运行时—— 单个 1.2 MB 静态二进制,启动零开销
- 🚀并行下载—— 所有依赖同时下载解压,而非串行等待
- 📦热安装毫秒级—— 已下载过的包重新安装只需 APFS 克隆 + 链接
- 🚫无 Gatekeeper 隔离—— cask 安装跳过
com.apple.quarantine,应用直接打开 - 🔁无隐式自动更新——
nb install只做安装,自我更新由nb update显式触发
nanobrew vs Homebrew 核心对比
| 维度 | Homebrew | nanobrew |
|---|---|---|
| 运行时 | Ruby(约 57 MB) | 单个 1.2 MB 静态二进制 |
| 自动更新 | brew install前自动跑brew update(可能数分钟) | 只安装,自更新用nb update |
| 下载方式 | 默认串行 | 依赖并行下载开箱即用 |
| 应用隔离属性 | 有 Gatekeeper 弹窗 | 无隔离标记,即装即用 |
如果你重度依赖
post_install钩子、源码编译选项或 Mac App Store,Homebrew 仍是更好的选择;nanobrew 覆盖的是绝大多数 CLI 工具、bottle 和 cask 场景。
二、一键安装 nanobrew:最快配置方法
方式一:官方一行脚本安装
curl -fsSL https://nanobrew.trilok.ai/install | bash方式二:从源码构建(需要 Zig 0.16.0+)
git clone https://gitcode.com/gh_mirrors/na/nanobrew cd nanobrew && ./install.sh安装完成后,先执行一次nb init创建目录结构,然后就可以直接nb install <包名>了。升级时只需:
nb update三、nb 常用命令速查表
学会了下面几条命令,就掌握了 90% 的日常使用场景:
| 命令 | 作用 |
|---|---|
nb install tree | 安装包(支持一次装多个:nb install ffmpeg wget) |
nb search ripgrep | 搜索 formula 和 cask |
nb info jq | 查看包详情 |
nb list | 列出已安装软件 |
nb remove tree | 卸载 |
nb outdated | 检查哪些包有更新 |
nb upgrade | 升级全部(或nb upgrade tree指定升级) |
nb pin tree/nb unpin tree | 锁定 / 解锁版本 |
nb rollback tree | 回滚到上一个版本 |
nb doctor/nb cleanup | 健康检查 / 清理缓存 |
安装完记得加个 shell 补全,体验更流畅:
nb completions zsh >> ~/.zshrc四、性能实测:nanobrew 安装速度有多快?
以下数据来自仓库内置的基准测试(Apple Silicon 实测,完整方法见 BENCHMARKS.md):
单包无依赖(tree)
| 工具 | 冷安装 | 热安装 |
|---|---|---|
| Homebrew | 8.99s | 2.25s |
| nanobrew | 1.19s(快 7.6x) | 0.19s(快 11.8x) |
多依赖包(wget,共 6 个包)
| 工具 | 冷安装 | 热安装 |
|---|---|---|
| Homebrew | 16.84s | 2.43s |
| nanobrew | 11.26s | 0.58s(快 4.2x) |
Homebrew 的 8.99s 里约有 1.5s 花在 Ruby 启动、4.5s 花在链接与清理;而 nanobrew 的热安装实际安装动作只有约 40ms,时间几乎全部花在 API 查询上。
Linux / Docker 上还能替代 apt-get
--deb模式是完整的 apt-get 替代:纯 Zig 实现索引拉取、依赖解析、.deb下载与解压,无需子进程。实测安装git vim build-essential比 apt-get 快约12.9 倍(43.8s → 3.4s)。在 Dockerfile 中直接替换慢速的 apt-get:
COPY --from=nanobrew/nb /nb /usr/local/bin/nb RUN nb init && nb install --deb curl wget git五、进阶玩法:版本固定、Cask 与第三方 Tap
精确安装指定版本
nb install wget@1.21.3 # 精确安装 wget 1.21.3 nb install python@3.11 # 安装 Homebrew 版本化 formula版本化安装会自动锁定(auto-pinned),后续nb upgrade不会覆盖你选择的版本,需要时用nb unpin解除。设计细节见 docs/design/versioned-install.md。
安装 macOS 应用(Cask)
nb install --cask firefox # 安装 .dmg/.pkg/.zip 应用 nb upgrade --cask # 升级所有 caskcask 升级采用事务化替换:激活前完整暂存、失败立即回滚、中断后可恢复。前 100 个热门 cask 走原生管道,完全不依赖brew子进程。
第三方 Tap 直接装
nb install user/tap/formulananobrew 会直接从 GitHub 拉取并解析 Ruby formula,无需brew tap步骤,是少数支持 tap 的快速 Homebrew 客户端。
信任机制:安装前就知道"能不能跑"
nb info <pkg>会显示校验和、来源审查与安装证据。nb install --trusted-only jq只允许安装经过端到端验证的包,pkg@trusted则解析该平台上最新通过签名的版本。完整分级设计见 docs/design/trust-tiers.md。
六、从 Homebrew 平滑迁移:一条命令迁移
nb migrate它扫描/opt/homebrew/Cellar与 Caskroom 并把已装包导入 nanobrew 的数据库,之后nb list、nb outdated、nb upgrade都会识别你现有的包。两边互不干扰:nanobrew 的包装在/opt/nanobrew/prefix/Cellar/,想回退时执行nb nuke即可完全移除,不影响 Homebrew。
七、项目结构速览
| 路径 | 说明 |
|---|---|
| README.md | 完整命令列表与安装说明 |
| BENCHMARKS.md | 性能基准数据与测试方法 |
| docs/package-architecture.md | 包分发架构:bottle 来源与审核流程 |
| docs/design/trust-tiers.md | 安装信任分级设计文档 |
| src/api/ | formula、cask、搜索等 API 客户端源码(Zig) |
| src/extract/ | 原生 tar 解析,无外部依赖 |
| CHANGELOG.md | 版本历史 |
八、总结
nanobrew 证明了包管理器完全可以脱离解释器时代:1.2 MB 的 Zig 静态二进制、并行下载、内容寻址缓存加 APFS 克隆,换来的是 3ms 级的热安装与零 Ruby 依赖。它不是 Homebrew 的分叉,而是同一生态的极速客户端——同样的 formula、bottle 和 cask,一条nb migrate即可无缝切换。如果你受够了brew update的漫长等待,不妨今天就试试这个终极替代。
【免费下载链接】nanobrew
The fastest macOS package manager. Written in Zig. 3ms warm installs.
相关推荐
解决nyan-cat-formatter常见问题:音乐播放失败与终端显示异常修复方案
解决nyan cat formatter常见问题:音乐播放失败与终端显示异常修复方案 nyan cat formatter是一款受Nyan Cat启发的RSpe
开发工具GILES:Unity3D运行时级别编辑器的终极指南 🚀
GILES:Unity3D运行时级别编辑器的终极指南 🚀 想要在Unity3D中快速创建和编辑游戏关卡吗?GILES(Game Integrated Leve
如何用Gridfinity Rebuilt OpenSCAD快速定制任意尺寸的存储解决方案 🧰
如何用Gridfinity Rebuilt OpenSCAD快速定制任意尺寸的存储解决方案 🧰 Gridfinity Rebuilt OpenSCAD是一个功
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考