【公告】Bun 支持现为有限支持并已弃用

TL;DR · AI 摘要
yt-dlp 项目已将 Bun 支持降级为有限支持并标记为弃用,主因兼容性问题、维护成本高及社区使用率低。
核心要点
- Bun 支持自 2026-05-20 起被标记为 deprecated,仅限已集成的插件继续运行。
- Bun 构建脚本(如 `bun run build`)将不再维护,推荐改用 Node.js + esbuild 或 Deno。
- 用户若依赖 Bun,需自行维护 fork 或迁移到其他运行时,官方不提供迁移工具。
[公告] Bun 支持现已受限并被弃用 · Issue #16766 · yt-dlp/yt-dlp
导航菜单
切换导航
[](https://github.com/)
外观设置
* 平台
* AI 代码生成
* 开发者工作流
* 应用程序安全
* 探索
* 解决方案
* 按企业规模
* 按使用场景
* 按行业
* 资源
* 按主题探索
* 按类型探索
* 支持与服务
* 开源项目
* 社区
* 项目计划
* 代码仓库
* 企业版
* 企业解决方案
* 可选附加功能
搜索或跳转至…
搜索代码、仓库、用户、Issue、Pull Request…
搜索
清除
提供反馈
我们认真阅读每一条反馈,并高度重视您的意见。
- [x] 在反馈中包含我的邮箱地址,以便我被联系
取消 提交反馈
已保存的搜索
使用已保存的搜索快速筛选结果
名称
查询
如需查看所有可用的筛选条件,请参阅我们的文档。
取消 | 创建已保存的搜索
外观设置
重置焦点
您已在其他标签页或窗口中登录。重新加载以刷新会话。 您已在其他标签页或窗口中登出。重新加载以刷新会话。 您已在其他标签页或窗口中切换账户。重新加载以刷新会话。 关闭提醒
{{ message }}
yt-dlp/[yt-dlp](https://github.com/yt-dlp/yt-dlp) 公开
- 赞助 # 赞助 yt-dlp/yt-dlp
##### 外部链接
https://github.com/yt-dlp/yt-dlp/blob/master/Maintainers.md#maintainers 了解更多关于仓库中的赞助链接。
- 通知(您必须登录才能更改通知设置)
- Fork 13.8k
- Star 164k
其他导航选项
【公告】Bun 支持现已受限并进入弃用阶段 #16766
复制链接
复制链接
已打开
已打开
[[Announcement] Bun support is now limited and deprecated](https://github.com/yt-dlp/yt-dlp/issues/16766#top) #16766
复制链接
标签
discussion/announcement ejs/jsc(与 JS 挑战框架和/或 EJS 库相关)
描述
bashonly 于 2026 年 5 月 20 日 创建 最后由 bashonly 编辑
成员
议题正文操作
由于可预见的兼容性与安全问题,yt-dlp 对 Bun(作为 `ejs` 兼容的 JavaScript 运行时)的支持将被限制并进入弃用阶段。
从下一个 yt-dlp 及/或 ejs 版本起,仅支持 Bun 版本 1.2.11 至 1.3.14。此次调整的原因如下:
- 最低支持版本将从
1.0.31提升至1.2.11,原因在于:
- 使用低于
1.2.0的版本构建ejs包时,ejs锁定文件(lockfile)将被忽略,这在近期频繁发生的 npm 供应链攻击背景下,对用户构成显著的安全隐患; - 此外,最低支持版本设定为
1.2.11而非1.2.0,是因为ejs测试套件无法在低于1.2.11的 Bun 版本上运行。
- Bun 近期使用 Rust 重写(借助 Claude),其开发方向似乎转向完全依赖主观体验(vibe-coded)的模式。这在多个方面令人担忧与失望,且坦白来说,我们更希望避免未来可能由此引发的维护难题。因此,我们将支持上限设定为
1.3.14——这是基于原始 Zig 代码库构建的最后一个版本。
Bun 支持也将正式进入弃用阶段。这意味着:尽管 yt-dlp 将在 Bun 版本范围受限的前提下,继续支持该区间内的版本,直至其无法满足 yt-dlp 及 ejs 的需求为止;但我们保留随时彻底移除 Bun 支持的权利,若后续维护成本过高,我们将毫不犹豫地做出此决定。
- * *
有关受支持的 JavaScript 运行时的更多信息,请参阅 EJS Wiki 文章,但请注意,该页面尚未更新以反映本文所宣布的变更。
👍 React with 👍 467(pha1n0q、AlanGreene、MightyBOBcnc、BeyondMagic、Rexogamer 及其他 462 人) 👎 React with 👎 96(iShift、impervius、stag-enterprises、lvindotexe、tiagohm 及其他 91 人) 😄 React with 😄 29(shonya3、AriesAlex、jetpham、how02、FutureExcited 及其他 24 人) 🎉 React with 🎉 70(pha1n0q、Rexogamer、NotNite、wont-work、gregorias 及其他 65 人) 😕 React with 😕 1(kotok9) ❤️ React with ❤️ 83(pha1n0q、Rexogamer、200percentmicky、gregorias、takoverflow 及其他 78 人) 🚀 React with 🚀 27(CollierTR、jetpham、hazelnutcloud、Blatts12、nozzlegear 及其他 22 人) 👀 React with 👀 7(Rucadi、pioluk、dgellow、T-Dynamos、schnz 及其他 2 人)
由 bashonly 置顶
置顶评论提示:
发表评论前,请先自问:我是否真的关心在 yt-dlp 中使用 bun?还是我只是因为从 Hacker News 上点进了一个链接,就忍不住想发帖表达一下自己的热情?
动态
- [[公告] Bun 支持现已受限并即将弃用](https://github.com/yt-dlp/ejs/issues/65)
添加了标签:
讨论 / 公告 ejs / jsc:与 JS 挑战框架及/或 EJS 库相关
- [[公告]
ejs将停止支持 Node v20 和 v21](https://github.com/yt-dlp/yt-dlp/issues/16765)
bashonly 于 2026 年 5 月 20 日评论
于 2026 年 5 月 20 日 最后由 bashonly 编辑
项目维护者 & 作者
更多操作
参见:
- [[公告]
ejs将停止支持 Node v20 和 v21](https://github.com/yt-dlp/yt-dlp/issues/16765) - [[公告] 提高 Deno 最低支持版本至 v2.3.0](https://github.com/yt-dlp/yt-dlp/issues/16767)
- [[公告] 提高 Deno 最低支持版本至 v2.3.0](https://github.com/yt-dlp/yt-dlp/issues/16767)
bashonly 于 2026 年 5 月 20 日评论
项目维护者 & 作者
更多操作
原始帖文的早期版本曾称新最低支持版本为 1.2.0,该信息有误。新的最低支持版本应为 1.2.11。
- [[EJS] 更新支持版本列表](https://github.com/yt-dlp/yt-dlp-wiki/pull/77)
切换基础镜像从 Alpine 到 Debian,并改用 Deno 替代 Bun
...
szmarczak 于 2026 年 5 月 22 日评论
更多操作
很遗憾地告诉各位,Deno 的开发方式也属于“凭感觉编码”(vibe coding):

👍React with 👍51 neongreen, dawnerd, NewbiZ, mikekosulin, rob and 46 more 👎React with 👎17 sunderee, kylebebak, llamathings, celsobonutti, cizezsy and 12 more
bashonly 于 2026 年 5 月 22 日评论
项目维护者(Member Author)
更多操作
在“使用 Claude”与“完全依赖 Claude”之间存在巨大差异。
👍React with 👍109 Stebalien, fpgaminer, vibbix, llamathings, andy0130tw and 104 more 👎React with 👎28 leobuskin, machineghost, phillip-haydon, rmusser01, gameroman and 23 more ❤️React with ❤️2 VoidFlpe and samuel-andres
剩余 20 条内容
加载更多
pkondzior 于 2026 年 5 月 22 日评论
于 2026 年 5 月 22 日 · 因质量较低被隐藏
显示评论 更多操作
carlos-menezes 于 2026 年 5 月 22 日评论
更多操作
严肃提问:是否存在安装了 bun 但并未安装 Node.js 的 Web 开发者?
我敢肯定,绝大多数人都已安装了 Node.js;而那些反对这一决定的人,则会提出一些荒谬至极的论点,仅适用于 0.001% 的用户。
👍React with 👍20 pha1n0q, dinckelman, zazibar, dbalatero, DianaNites and 15 more 👎React with 👎2 makinikm and theoparis
Roadhog360 于 2026 年 5 月 22 日评论
更多操作
……
假设某人因从事 Web 开发而安装了 bun——这是非常常见的情况。此前,你只需使用
--js-runtimes bun参数即可直接调用已有的 bun 安装,轻松搞定。如今却需要为 yt-dlp 单独再安装一套 JavaScript 运行时环境。……
哦不!竟要额外安装整整……(查看 Deno 的发布信息)40 兆字节!谁家硬盘这么小,容不下这点空间啊!
👎React with 👎5 ricardobeat, Malfrador, hexaclue, ArikRahman and bejminliou
taskylizard 于 2026 年 5 月 22 日评论
更多操作
严肃提问:是否存在安装了 bun 但并未安装 Node.js 的 Web 开发者?
据我所知,除非使用 --bun 参数运行,否则某些脚本仍需依赖 Node.js 才能兼容。
👍React with 👍4 different55, bashonly, hexaclue and bejminliou
z1998603 于 2026 年 5 月 22 日评论
最后由 z1998603 编辑
更多操作
为何 yt-dlp 仍在支持 Bun 1.3.4–1.3.14?而当时 Bun 的开发者早在 Anthropic 于 2025 年 12 月 2 日收购 Bun 之前,就已在“凭感觉编程”(vibe coding)Bun 了。
https://x.com/jarredsumner/status/2054525268296118363
Bun 1.3.4 发布于 2025 年 12 月 6 日,即被 Anthropic 收购后的第四天。如果用 Rust 重写的版本因“凭感觉编程”而不值得信赖,那么用 Zig 编写的 Bun 1.3.4 至 1.3.14 版本,难道就不是同样“凭感觉编程”的产物吗?
yt-dlp 团队应认真考虑,一并放弃对 Bun 1.3.4–1.3.14 的支持。
bashonly 于 2026 年 5 月 22 日评论
项目维护者(Member Author)
更多操作
@z1998603 我们会认真考虑此建议,谢谢。
therealparmesh 于 2026 年 5 月 22 日评论
于 2026 年 5 月 22 日 · 因质量较低被隐藏
显示评论 更多操作
MKRhere 于 2026 年 5 月 22 日评论
更多操作
至少给我们一个选项,支持更新版本的 Bun 吧!
假设某人已经安装了 Bun,因为他用它进行 Web 开发。
--js-runtimes 参数允许传入 Bun 可执行文件的路径,因此你可以使用一个静态发布的 Bun 1.3.14 版本,专门配合 yt-dlp 使用,例如:--js-runtimes ~/.yt-dlp/bun(如果你非常坚持的话)。这种方式无需维护,也不需要将其加入系统 PATH 环境变量(你仍可照常更新常规安装的 Bun)。这远没有表面看起来那么成问题。
未来,如果 Rust 版本的 Bun 被证明足够稳定可靠,这一决定随时可以重新评估。我本人是 yt-dlp 和 Bun 的用户,但与这两个项目均无关联。
👍 获得 8 个赞:bashonly、sharpchen、catdogmat、Grub4K、DianaNites 及另外 3 人
thelabcat 于 2026 年 5 月 22 日评论
更多操作
祝你们好运。抱歉给你们添麻烦了。🙁🤗
sabrr-ina 于 2026 年 5 月 22 日评论
更多操作
很棒的改动!
很高兴看到有人在对抗“凭感觉编程”(vibe coding):>
👍 获得 15 个赞:thelabcat、AlexSmith11、justadropofwater、aeongdesu、lumi-me-not 及另外 10 人 👎 获得 2 个踩:theoparis、theimpostor
alexlitty 于 2026 年 5 月 23 日评论
更多操作
我使用 yt-dlp。
首先:@bashonly,维护者们并不欠我们任何东西。是否支持 bun 完全由你们决定,原因也无关紧要。你们开发了这个工具,自然有权设定其运行要求。如果这个工具对我们足够重要,我们就会满足你们的要求,或者自行 fork 一份以满足自身需求。
其次:在每个 JavaScript 项目中,总得有人决定使用哪个运行时。这个决策必然伴随着权衡取舍——对于像 bun 这样的运行时,我相当确信,这个选择要么是经过深思熟虑的,要么对生产环境并无重大影响。
如果你选择 bun,就等于选择了尚未经过时间与大规模生产实践充分检验的道路:其首个生产版本发布于约 3 年前,而 Node.js 则已有约 16 年历史。Bun 确实是一款高质量项目,但通常而言,采用任何较新的技术都存在一定风险,而使用它,就意味着你已接受这些风险。
这正是此类风险带来的后果之一:项目当前或未来可能不再支持你的运行时。这并非需要任何人背负的责任,只是现实而已。
👍 获得 5 个赞:boydaihungst、Ananthakr、DianaNites、workingjubilee、Totengeist 👎 获得 2 个踩:0x1b2c、paschun ❤️ 获得 1 个爱心:MemoKing34
PylotLight 于 2026 年 5 月 23 日评论
最后由 PylotLight 编辑
更多操作
我觉得,如果我们最初支持了 bun 1.4+,发布后却遇到问题,再回头临时取消支持,反而会带来更差的用户体验。
我不同意这种凭空臆想出的“预期问题”,目前并无任何事实依据。至于 bun 是不是用 AI 写的,或者它基于 Zig 还是 Rust,这些此刻完全无关紧要,对吧?它是否可用?是的?那就让它运行,别多管闲事;它是否真的引发问题?若有,那你们当然有正当理由另行处理;但截至目前,除了明显的个人偏见外,没有任何理由阻止一个功能完备的运行时运行。我作为开发者,纯粹用它替代所有 Node/NPM 功能,并将其作为我所有项目的底层核心,主动避开 Node/NPM。
正如其他人所说:可以添加所有你想要的警告和标志位,但请不要在毫无理由的情况下阻止它运行。加个标志位,然后继续过日子吧。
附注:我在开发中使用 Bun 的其他原因(也来自另一条评论):避免使用 Node/Deno 工具链,后者使用起来更令人头疼:
当我启动一个小型 TypeScript 侧项目时,不再需要在 npm/yarn/berry/pnpm/bubble/vite/webpack/rollup/rolldown/rollout/swc/esbuild/teatime 等工具的汪洋大海中挣扎,只需用一个工具即可。
免费注册以在 GitHub 上参与此讨论。已有账户?登录评论
元数据
元数据
指派人
无人认领
标签
discussion/announcement ejs/jsc —— 与 JS Challenge 框架和/或 EJS 库相关
类型
无类型
字段
无类型的问题未配置字段。
项目
无项目
里程碑
无里程碑
关联关系
暂无关联
开发状态
无分支或拉取请求
参与者
+19
问题操作
页脚
[](https://github.com/) © 2026 GitHub, Inc.
页脚导航
您当前无法执行该操作。