Cloudflare Workers Buildsでサイトを自動ビルドしていて、コードは何も変えていないのに、ある日からビルドのログに出るNode.jsの版が変わっている。2026年10月14日以降、版を指定していないプロジェクトではこれが起きます。Workers Buildsのビルド環境(ビルドイメージ)に入っている言語やツールの既定の版が、まとめて新しくなったためです。
Cloudflareの変更履歴(changelog)は、この更新を「設定を変えずに最新の修正と機能が手に入る」と説明しています。ただ、新しい既定のNode.js 24.21.0は9月7日の版で、10月21日付で告知されたNode.jsのセキュリティ修正版(24.22.1)は含まれていません。この記事では、Cloudflareの変更履歴とビルドイメージのドキュメント、Node.jsの公開情報、編集部の検証環境でAstroのサイトを各版でビルドした結果をもとに、Workers Buildsでサイトや業務アプリをビルドしている担当者が確かめておくことを整理します。
何の版が変わったのか
変更履歴(2026年10月14日)に載っている主な変更は次のとおりです。
| 対象 | 以前の既定 | 新しい既定 | 版を指定する環境変数 |
|---|---|---|---|
| Node.js | 24.18.0 | 24.21.0 | NODE_VERSION |
| Python | 3.13.3 | 3.14.8 | PYTHON_VERSION |
| Ruby | 3.4.7 | 3.4.11 | RUBY_VERSION |
| Go | 1.24.3 | 1.27.2 | GO_VERSION |
| Bun | 1.2.15 | 1.4.3 | BUN_VERSION |
| Yarn | 4.9.1 | 4.18.1 | YARN_VERSION |
このほか、pip(25.1.1→26.2.1)、pipx、Poetry、uv(0.7.13→0.12.10)も上がっています。Bun 1.4.3は従来の bun.lockb と新しい bun.lock の両方のロックファイルを読めるため、既存のBunのプロジェクトはそのままインストールできる、と変更履歴に書かれています。
影響を受けるのは、版を指定していないプロジェクトだけです。変更履歴には、環境変数か版の指定ファイル(.nvmrc、.node-version、.python-version、.ruby-version など)で版を決めているプロジェクトは、その版のまま動くとあります。
なお、ビルドイメージのドキュメント「Build image」は、10月22日に確認した時点でも、既定の版の表が24.18.0・Bun 1.2.15などの以前の値のままでした(ページの最終更新日は10月14日と表示されています)。変更履歴とドキュメントで値が違う場合は、日付の新しい変更履歴が今の状態だと読むのが自然ですが、実際のビルドで使われた版は、ビルドのログで確かめるのが確実です。
既定に任せると何が起きるか
Cloudflareのビルドイメージの方針(Build Image Policy)は、次のように定めています。
- マイナーバージョン(例:24.18→24.21)は、予告なしに最新へ上げることがある
- Bunのように、セマンティックバージョニング(版番号の付け方の約束)に従わないツールで、互換性を壊しうる更新は3か月前に予告する
- メジャーバージョン(例:22→24)は、サポート終了の前に次のLTS(長期サポート版)へ、3か月前の予告つきで上げる
つまり既定に任せると、「いつ」「どの版に」変わるかは自分では決められません。版が上がること自体は悪いことではありませんが、今回のように、上がった先が最新のセキュリティ修正を含んでいないこともあります。
Node.jsの公開情報(nodejs.org/dist/index.json)で並べると、次のようになります。
- 24.18.0:2026年6月23日(以前の既定)
- 24.21.0:2026年9月7日(新しい既定)
- 24.22.0:2026年10月14日(変更履歴と同じ日)
- 24.22.1:2026年10月20日(セキュリティ修正版。告知の日付は10月21日)
Node.jsの公式ブログは、10月21日付で26.x・24.x・22.xのセキュリティ修正(最も高い深刻度は「HIGH」)を公表しています。修正版は24.x系なら24.22.1、22.x系なら22.23.4です。Node.jsの系列ごとのサポート期間はNode.js 24の保守期入りと26 LTS化で整理しています。
Astro 7.4.2を各版でビルドしてみた
AstroはNode.jsの版の下限を自分で確かめる仕組みを持っているため、版の違いがビルドの成否に直結します。10月21日公開のAstro 7.4.2では、変更履歴に「Node.jsの最小要件を22.23.4に上げる(10月のNode.jsのセキュリティ修正を含む版)」とあります。7.4.0で22.22.0に上がった件はAstro 7.4へ上げる前にで扱いました。
編集部の検証環境(Ubuntu 24.04、x86_64)で、Node.jsの公式バイナリを使い、ページ1枚だけの検証用のAstroサイトを astro build でビルドしました。Workers Builds上でのビルドではなく、手元で同じ版を動かした結果です。

結果は次のとおりです。
- 22.23.2:インストールは警告(
EBADENGINE)だけで終わり、ビルドで「Node.js v22.23.2 is not supported by Astro!」と出て終了コード1で止まりました - 22.23.4:ビルドできました
- 24.18.0・24.21.0・24.22.1:3つともビルドできました。Astro 7.4.0でも同じでした
24.xがすべて通った理由は、Astroのコード(bin/astro.mjs)にあります。版の確認は、メジャーバージョンが23以下のときだけ行い、24以上では飛ばす作りになっていました。言い換えると、修正前の24.21.0でもビルドは成功するので、「ビルドが通ったから最新の修正が入っている」とは言えません。
22.23.2を取り上げたのは、ビルドイメージのドキュメントに「22.23.2と24.18.0がプリインストールされている」とあるためです。NODE_VERSION に 22 のようにメジャーバージョンだけを書いた場合に、Workers Buildsがどの版を使うかは、ドキュメントからは読み取れませんでした。22.xに固定しているプロジェクトでAstro 7.4.2へ上げる場合は、ビルドのログで版を確かめてください。
版を固定する方法と、決めておくこと
固定の方法は2つあります。ビルドイメージのドキュメントによると、ダッシュボードの「Settings」→「Build」→「Build Variables and Secrets」で NODE_VERSION などの環境変数を設定するか、リポジトリの一番上に .nvmrc や .node-version を置き、中身に版を書きます。両方を設定した場合にどちらが優先されるかは、ドキュメントに書かれていませんでした。どちらか一方に寄せておくと迷いません。環境変数と .node-version の両方に版を書いていた私たちの環境で、環境変数の版が使われた実例は、Node.js 22.23.4への一括更新の記録にまとめています。
ここからは編集部の整理です。
- ビルドのログで、今使われている版を確かめる。 変更履歴とドキュメントの値が違う時期は、ログが一番確かです
- Node.jsは、セキュリティ修正版を含む具体的な版で固定する。 24.x系なら24.22.1以上です。
.node-versionなどのファイルで固定すると、版の変更がコードの差分としてレビューに乗ります - 固定したら、更新の担当とタイミングを決める。 固定は「自動では上がらない」ことでもあります。Node.jsのセキュリティ修正が出たら固定の版を上げる、という運用をセットにします
- Node.js以外も見る。 Python・Go・Bunなどをビルドの中で使っている場合(例:Pythonで画像やデータを前処理する、Bunでパッケージを入れる)は、今回の更新で変わっていないか、同じようにログで確かめます
ビルドのたびに確認用のURLを作る「プレビュー」を使っている場合も、ビルドの環境は同じ考え方です。プレビューの注意点はブランチごとに確認URLが立つ仕組みで整理しています。
確認した範囲
2026年10月22日に、Cloudflareの変更履歴「Workers Builds now uses newer versions of Node.js, Python, Go, Bun, and more」(2026年10月14日)、同じく2026年7月30日(Node.js 24を既定に)と2025年12月18日(ビルドイメージの方針)の項目、ビルドイメージのドキュメント「Build image」を、developers.cloudflare.com の公開ページと cloudflare-docs リポジトリの原稿の両方で確認しました。あわせて、Node.jsの
dist/index.jsonとセキュリティリリースの告知(2026年10月21日)、Astroの変更履歴(7.4.2)、npmに公開されたastro7.4.2のenginesを確認しました(資料調査)。編集部の検証環境(Ubuntu 24.04.5、x86_64)で、公式バイナリのNode.js 22.23.2・22.23.4・24.18.0・24.21.0・24.22.1を使い、検証用のAstroサイト(7.4.0と7.4.2)をビルドしました(実機検証)。Workers Builds上での実際のビルド、NODE_VERSIONにメジャーバージョンだけを書いた場合の解決結果、環境変数とファイルの優先順位(上で紹介した私たちの環境での1件を除く)、Python・Go・Bunなどの更新による影響、Next.jsなどAstro以外のフレームワークは確認していません。
Cloudflare Workersで動かしているサイトのビルドや保守の見直しは、開発・AI・自動化のご相談からお問い合わせください。
参考資料
- Workers Builds now uses newer versions of Node.js, Python, Go, Bun, and more(Cloudflare changelog, 2026-10-14) — 原稿: cloudflare-docs src/content/changelog/workers/2026-10-14-workers-builds-default-tooling.mdx
- Build image(Cloudflare Workers docs) — 原稿: cloudflare-docs src/content/docs/workers/ci-cd/builds/build-image.mdx
- Build image policies for Workers Builds and Cloudflare Pages(Cloudflare changelog, 2025-12-18)
- Wednesday, October 21, 2026 Security Releases(Node.js)
- Node.js dist index.json
- astro CHANGELOG(withastro/astro, packages/astro/CHANGELOG.md)









