前Zod作者新开源项目Nub:性能快、兼容性强,能否打破Node.js工具碎片化困局?
前Zod作者推出Nub发布一天登Hacker News首页前Zod作者、前Bun团队成员Colin McDonnell推出全新开源项目发布仅一天即登上Hacker News首页收获近2000 Star。不打算「杀死」任何东西的野心项目是什么2026年6月24日名为Nub的开源项目正式发布v0.2.0版本。在JavaScript工具链极度拥挤的当下若作者是普通人这或许稀松平常。但当作者是Zod的创造者Colin McDonnell且他此前还在Bun团队工作过时事情就不同了。当天Colin在Hacker News上以「Show HN: Nub -- A Bun-like all-in-one toolkit for Node.js」为题发布帖子。截至发稿该帖已获得196个点赞和56条讨论。GitHub仓库在不到48小时内突破1,800 Star已有970次提交和52个版本发布对于刚进入公开Beta的项目来说这是相当炸裂的开局。然而最让人意外的并非其性能多快而是它主动放弃了很多Nub没有自己的运行时没有自己的全局对象没有nub:前缀的内置模块没有nub/*的npm作用域甚至没有自己的lockfile格式。它在标准的Node.js之上运行用Colin的话说「把Nub明天删掉你的代码照样能跑。」Node.js的生态碎片化问题根源在哪要理解Nub的价值需直面Node.js开发者每天经历的痛苦——工具碎片化。运行TypeScript需要tsx或ts-node管理依赖要从npm、pnpm、yarn、bun中四选一执行CLI工具可用npx或pnpm dlx切换Node版本有nvm、fnm、volta可选加载环境变量要装dotenv-cli监听文件变化需装nodemon。每个工具都有自己的配置文件、命令行参数、怪癖和边界情况。Bun和Deno试图用「另起炉灶」的方式解决问题创建全新运行时并打包所有功能。但正如Nub官方博客所指出的两者都未能动摇Node.js在生产环境中的统治地位。没有主流云厂商将Bun或Deno视为一等公民部署目标它们的Node兼容性也远远落后于真正的NodeBun在Deno的兼容性测试中仅通过40.5%。Nub的核心论点很简洁「Bun和Deno在尝试替代Node.js而Node.js是不可替代的。我们要做的是增强它。」为何说Nub是刀柄为Rust打造的瑞士军刀Nub本质上是用Rust编写的单一二进制文件将六个核心开发工具整合到一个nub命令中nub 替代node, tsx, ts-node, dotenv-clinub run替代npm run, pnpm runnubx替代npx, pnpm dlx/execnub install替代npm, pnpmnub watch替代nodemon, node --watchnub node替代nvm, fnm, volta。技术实现上Nub使用[oxc](https://oxc.rs/)作为TypeScript/JSX转译器将其编译为Node原生插件N - API在内存中完成转译后直接交由标准node二进制执行。它利用Node.js 2025年引入的module.registerHooks()同步API来注入模块解析逻辑开销仅约0.5毫秒Colin在HN评论中特别提到这个API是Nub的「关键解锁点」此前的异步API会带来19毫秒的固定注册开销。包管理器底层嵌入了[aube](https://github.com/jdx/aube)引擎由知名开发者工具mise的作者jdx开发兼容pnpm的workspace文件、hooks和pnpm - workspace.yaml并且能双向识别已有的pnpm - lock.yaml、package - lock.json和bun.lock。Nub性能如何比的是什么Nub官方公布的一系列基准测试数据相当抢眼TypeScript文件执行Nub用时44ms对手tsx用时128ms差距达2.9倍脚本分发Nub用时14.7ms对手pnpm run用时442.7ms差距达30倍CLI执行(esbuild)Nub用时11ms对手npx用时226ms差距达20倍冻结安装(222个依赖)Nub用时1122ms对手npm用时4163ms差距达3.7倍。不过这些数据虽令人印象深刻但需理性看待。Nub是Rust原生二进制文件而npm/pnpm是Node.js应用冷启动开销天然不同。脚本分发和CLI执行的「30倍」差距主要来自进程启动开销在实际长时间运行的应用中差距会大幅缩小。但在开发循环中频繁的run、exec、文件执行这些毫秒级的积累确实能带来可感知的体验提升。在Node兼容性方面Nub的成绩更为实在在Deno的跨运行时兼容性测试集中Nub通过了98.8%4315/4368与原生Node几乎持平而Deno为77.4%Bun仅为40.5%。Nub在安全方面有何设计Nub在安全方面的设计值得关注。它默认拒绝所有postinstall脚本仅对已知的原生包如esbuild、sharp等放行。每次解析依赖时它会查询OSV开源漏洞数据库检测恶意包并拒绝「信任降级」即如果某个版本失去了provenance签名认证Nub会直接拒绝安装。此外它还设置了24小时的最低发布年龄门槛防止供应链攻击中常见的「发布即利用」模式。在paranoid: true模式下构建脚本将在完全无网络的沙箱中执行将供应链风险压到最低。社区对Nub的反响如何Hacker News的讨论呈现出典型的「谨慎乐观」基调。最受欢迎的正面反馈来自名为ssalbdivad的用户ArkType作者他报告说「刚刚完成了一个将整个monorepo迁移到nub的PR零问题速度快得离谱」。多位评论者赞赏了Nub「增强而非替代」的哲学认为这是与Bun/Deno截然不同的成熟路线。质疑声主要集中在三个方面。其一AI生成代码的品质有人指出ClaudeAI是该仓库的第二大贡献者引发了对代码质量的担忧不过有评论者反驳道「在vibe - coded的运行时上跑你的应用和只用AI写本地开发工具是完全不同的事。」其二生产就绪度目前Nub的nub build命令尚未发布官方承诺「即将推出」后端生产部署仍建议直接使用标准Node。其三攻击面内置的.env加载等功能虽然方便但也意味着更多的代码路径需要审计。零锁定承诺意味着什么Nub最具争议也最具吸引力的设计决策是对「零锁定」的极端坚持。项目不存在任何Nub专有API没有全局对象没有私有模块命名空间没有自创的配置格式。它提供的所有增强功能都是Web标准、TC39提案、未加flag的Node特性或者已有生态工具的兼容层如YAML/TOML导入、.env加载。这意味着选择Nub并非选择一个平台只是选择一种更舒适的Node.js开发方式。如果明天Nub消失了只需把nub run换回npm run代码无需任何修改。这种设计哲学与JavaScript生态一贯的「锁定焦虑」形成鲜明对比。在经历了从Grunt到Gulp、从Webpack到Vite的无数次迁移之后开发者对工具链的信任已十分脆弱。Nub选择用「可以随时离开」来换取「愿意留下」。Nub未来发展如何Nub目前仍是v0.2.0的早期版本前路漫长。nub build生产打包、nub compile单文件二进制输出、官方Docker镜像等关键功能仍在路线图上。1,800 Star的热度能否转化为长期的社区维护力也有待观察毕竟Colin一个人的精力有限而这个项目同时在挑战npm、npx、tsx、nvm和nodemon的领地。但有一点是确定的Nub代表了一种在JavaScript工具链战争中被长期忽视的路线不是推翻重建而是在巨人的肩膀上做减法。对于那些受够了工具碎片化、但又不想背弃Node.js庞大生态的开发者来说Nub提供了一个值得认真考虑的选项。

相关新闻

马鞍山栈板工厂怎么选?看完这篇不纠结

马鞍山栈板工厂怎么选?看完这篇不纠结

在工业物流与仓储运输中,木托盘(或称栈板)是不可或缺的基础工具。马鞍山及周边地区制造业密集,选择合适的托盘供应商直接关系到物流效率与成本控制。面对市场上众多的工厂,如何避免踩坑、选到真正靠谱的合作伙伴&#…

2026/6/26 4:22:40阅读更多 →
2026流年运势批量推演怎么做?玄易AI命理软件测评

2026流年运势批量推演怎么做?玄易AI命理软件测评

2026流年运势批量推演怎么做?玄易AI命理软件测评很多人第一次接触命理软件,是为了查看个人运势;但真正用得多以后,会发现重复操作才是最消耗时间的部分。比如做流年运势批量推演时,用户往往要反复输入出生信息、切换年…

2026/6/26 4:22:40阅读更多 →
向量空间 JBoltAI TokUI 的定位与设计背景

向量空间 JBoltAI TokUI 的定位与设计背景

向量空间 JBoltAI 推出的 TokUI,是面向 AI 应用场景打造的流式 UI 描述与渲染框架,核心围绕大模型的文本输出特性,重构 UI 的描述、传输与渲染全链路。以下从产品定位与设计背景两个维度,对 TokUI 进行具体说明。一、TokUI 是什么…

2026/6/26 4:22:40阅读更多 →
90%运营都忽略的流量口:游戏中心ASO优化全解析

90%运营都忽略的流量口:游戏中心ASO优化全解析

在手游ASO优化的常规运营中,多数从业者的重心始终聚焦在关键词排名、应用榜单、星级评论等常规板块。大家耗费大量精力抢占搜索流量,却长期忽视了应用商店核心的免费流量阵地——各大平台的游戏中心专区。无论是iOS的App Store游戏页、谷歌Google Play游…

2026/6/26 5:02:44阅读更多 →
OpenEBS:Kubernetes 持久化存储的开源方案

OpenEBS:Kubernetes 持久化存储的开源方案

文章目录OpenEBS:Kubernetes 持久化存储的开源方案两种存储模式多个子项目实际特性避免云锁定总体评价OpenEBS:Kubernetes 持久化存储的开源方案 在 Kubernetes 上运行有状态应用,存储是最先要解决的问题。OpenEBS 是一个开源的容器原生存储方…

2026/6/26 5:02:44阅读更多 →
2026年PMP培训机构通过率水分怎么挤?到底哪家通过率真

2026年PMP培训机构通过率水分怎么挤?到底哪家通过率真

讲真,作为一个在深圳软件公司敲了三年代码、做梦都想转岗项目经理的打工人,我最近真的被PMP培训机构搞崩溃了。 本来想报个班好好学,结果上网一搜,好家伙,各家机构都在疯狂卷数据,什么“通过率98%”、“99…

2026/6/26 5:02:44阅读更多 →
DeNovoSWE数据集发布:大幅提升Code Agent长程任务能力,助力完整软件仓库生成

DeNovoSWE数据集发布:大幅提升Code Agent长程任务能力,助力完整软件仓库生成

DeNovoSWE数据集发布:大幅提升Code Agent长程任务能力,助力完整软件仓库生成随着LLM Code Agent能力不断提升,研究者意识到要迈向更接近真实场景需求的长程任务。于是,像NL2RepoBench、BeyondSWE这类长程任务评测的Benchmark涌现出…

2026/6/26 5:02:44阅读更多 →
【无标题】亦唐科技的人工智能创新与应用

【无标题】亦唐科技的人工智能创新与应用

引言 人工智能(AI)正成为推动全球科技变革的核心动力。亦唐科技作为行业领先的科技企业,深度布局AI技术,通过创新算法、智能数据分析、深度学习等技术,推动人工智能在多个领域的应用,包括智能制造、金融科技…

2026/6/26 5:02:44阅读更多 →
高防IP一个月6500还只是起步?聊聊小团队能用的DDoS防护方案

高防IP一个月6500还只是起步?聊聊小团队能用的DDoS防护方案

先交代一下背景。我们做海外工具站的,日活不算大,几万的样子,但架不住被同行和黑产轮流盯上。 去年被一次100G的UDP Flood直接打穿,免费清洗就是个摆设,业务停了6个小时。老板批了预算让我找防护,我花了一个…

2026/6/26 4:57:42阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/25 9:39:54阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/26 4:15:25阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/25 9:01:34阅读更多 →
HPE (慧与) 服务器专用 ESXi 9 全套官方定制资源详解 + 完整部署升级教程

HPE (慧与) 服务器专用 ESXi 9 全套官方定制资源详解 + 完整部署升级教程

一、前言:企业运维痛点与资源价值自博通收购 VMware 之后,原 VMware 公开免费下载渠道全面关闭,企业运维人员想要获取适配 HPE 慧与服务器的 ESXi 9 原厂镜像,必须注册博通账号、绑定有效授权才能下载,无授权账号无法获…

2026/6/26 0:02:15阅读更多 →
Kotlin的@JvmStatic与@JvmField:与Java互操作的注解

Kotlin的@JvmStatic与@JvmField:与Java互操作的注解

Kotlin作为一门现代编程语言,与Java的互操作性一直是其核心优势之一。为了让Kotlin代码能够无缝对接Java,Kotlin提供了多种注解来优化互操作体验,其中JvmStatic和JvmField是两个关键注解。它们分别用于解决静态成员和字段在Java中的访问问题&…

2026/6/26 0:02:15阅读更多 →
深入解析musl libc中的mmap实现源码

深入解析musl libc中的mmap实现源码

最近在阅读musl libc源码时,发现其mmap的实现非常精妙,特分享给大家。 一、代码整体结构 这段代码实现了__mmap函数,并通过weak_alias导出为mmap。这是典型的musl libc风格——提供弱符号以便用户可以重写。 weak_alias(__mmap, mmap); 二…

2026/6/26 0:02:15阅读更多 →