世界を動かす技術を、日本語で。

Bunサポートは現在制限され、非推奨となりました

2026年5月23日原文(github.com)

概要

  • yt-dlpBun のサポート範囲を限定し、非推奨化
  • 対応バージョンは 1.2.11~1.3.14 のみに
  • セキュリティと互換性の問題が主な理由
  • Bun の開発方針変更が懸念点
  • 今後のサポート終了の可能性も示唆

yt-dlpによるBunサポートの制限と非推奨化

  • yt-dlp は、 ejs互換JavaScriptランタイム としての Bun サポートを制限・非推奨化
  • 次回の yt-dlp または ejs リリースから、対応バージョンは Bun 1.2.11~1.3.14 のみに限定
  • 最小対応バージョン1.0.31 から 1.2.11 へ引き上げ
    • 1.2.0 未満では ejsパッケージのlockfile が無視されるため、 npmサプライチェーン攻撃 対策としてセキュリティ上問題
  • 1.2.11 未満では ejsテストスイート が実行不可なため、対応下限を 1.2.11 に設定
  • 上限バージョン1.3.14 に設定
    • 1.3.14Zigベースの最終リリース であり、それ以降は Rust でClaudeを用いて全面的に書き換えられたため
  • Bun の開発方針が vibe-coded 志向へと大きく変化
    • 今後のメンテナンス負荷増大や予期せぬトラブル懸念

今後の方針と参考情報

  • yt-dlp および ejs のニーズを満たす限り、限定された Bunバージョン のサポートは継続
  • 保守が困難になった場合、 Bunサポートの完全終了 も選択肢
  • 詳細は EJS wiki のJavaScriptランタイム対応記事を参照
    • ただし、現時点で本件の最新変更は未反映

Hackerたちの意見

まあ、Bunを使うのがすごく好きなんだけど、Anthropicに買収されてからの方向性にはちょっと悲しくなっちゃう。いい感じのNodeが欲しいけど、バイブコーディングは避けたいんだよね。

買収されたとき、Bunが今まで通り続けられるってみんなが希望してたのが面白いよね。でも結局それが全部捨てられちゃったのが悲しい。(もちろん、悲しい意味で面白いけど。)

「バイブコーディング」から生じた具体的な問題が特定されてない限り、実際の真実を確認せずにそれを完全に拒絶する反応は、批判してる行動そのものを示してるんじゃない?

Bunチームによると、Anthropicの買収の前から数ヶ月間、すでに「バイブコード化」されていたらしいよ。

バイブコード化によって何か重大な問題が発生したことはある?はっきり言っておくけど、マージを支持してるわけじゃないよ。このYOLO的なエンジニアリングアプローチには反対だし。ただ、マージ発表以降、どうなってるのか気になってるだけ。

彼らの決定は理解できるよ。メンテナが自分たちで書いてないコードベースをどう理解するんだろう?全ての書き直されたコードをレビューするのは不可能だよ。コードの行数が多すぎるし、正確には100万行だしね。[1]

そうだね。今はかなり大きなコードベースの責任を持ってるけど、そのコードをエージェンティックツールで生成した人が、どう動いてるかほとんど理解してないんだ。重要じゃない部分ならそれでもいいけど、インフラの重要な部分ではちゃんと考えられてないとダメだよね。

READMEに「Zigで書かれている」ってまだ書いてあるのが面白いよね。

ZigからRustに急に変わったからって、特定のファイルが何を含んでいるかや、どう動いているか、他のファイルとの関係がわからないってことにはならないと思う。結局、同じことをやってるだけで、文法が違うだけだし。ちなみに、これがRustの開発者たちにとって見た目がダサく感じる理由でもあるよね。彼らはコードが自分たちにとって馴染みのあるものに見えるようにしたかったんだと思う。でも、これを2.0って呼ぶべきだったと思う。そうすれば、そんなに急いでる感じもしなかっただろうし(1.3.14にはいくつかの後退があって、みんなあんまり気にしてないし、今は小さなRustの火事がたくさんあるからね)。全体的に見ると、もっと大きな問題はBunが目新しいものを追いかけてばかりで、結局何も終わらせてないことだよ。テスト関連のものを見てみればわかる。ほとんどがVitestだけど、全部じゃないし。Jestもほとんどだけど、全部じゃない。pnpmもほとんどだけど、全部じゃない。今は画像関連のものがあって、Sharpもほとんどだけど、全部じゃない。開発サーバー?Viteもほとんどだけど、やっぱり全部じゃない。長時間動くプロセス…ほとんどNodeみたいだけど、メモリリークがあって(Rustの動機になるのは確か)。Imageのルーチンについて投稿してるのを見たとき、心が沈んだよ。別の目新しいものだなって。テストのバグとも重なったから、完全にVitestに移行した。

だから、約200万行の(ほとんど)zigを書けたのに、同じテストスイートが含まれている200万行のzigを使っても、約100万行のrustをレビューするのは無理ってこと?リライトがいいアイデアだとは思えないし、うまくいくとも思えないけど、君の主張にも同じように納得できないな。

どうしてメンテナーが自分たちが直接書いてないコードベースを理解できるの?君は新しいパラダイムを理解してないと思う。「人間がコードベースを理解する」って考えはもう古い。コードベースはAIによってメンテナンスされ、レビューされるようになる。これが悪いことだと思うかもしれないけど、人類の歴史の多くの側面で、私たちは理解を便利さと引き換えにしてきた。それが、スーパーマーケットで食べ物を買う理由なんだよ。これは人類のあらゆる分野で起こってきたことで、コード生成が免疫を持つと思うのは愚かだ。もう一度言うけど、これが悪いことだと思うかもしれないけど、これは人類が機能している方法なんだ。「じゃあ、誰がこれをメンテナンスするの?」AIだよ。「じゃあ、もしそれができなくなったらどうするの?」まあ、もし太陽フレアとかで電気が切れたらどうする?わかる?

Bunのメンテナーたちは、自分たちのコードベースをしっかり理解してると思うよ。彼らが理解してないと思う理由は何なの?最初にコードを書いたのは彼らだし、アーキテクチャも知ってる。どの部分がどの機能を果たしているかも分かってるはずだよ。

Hacker Newsで議論の続きを見る