本文へ移動
技術を、自社の仕事に。
判断と実行を助けるメディア

記事を検索

Workers Builds、既定のNode.jsが24.21.0に変更

目次 · 6項目

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.js24.18.024.21.0NODE_VERSION
Python3.13.33.14.8PYTHON_VERSION
Ruby3.4.73.4.11RUBY_VERSION
Go1.24.31.27.2GO_VERSION
Bun1.2.151.4.3BUN_VERSION
Yarn4.9.14.18.1YARN_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上でのビルドではなく、手元で同じ版を動かした結果です。

Astro 7.4.2の検証用サイトを、Node.jsの5つの版でビルドした結果の図。22.23.2は「Node.js v22.23.2 is not supported by Astro!」で失敗し、22.23.4は成功。24.18.0・24.21.0・24.22.1はすべて成功したが、24.xのうち10月のセキュリティ修正を含むのは24.22.1だけ(22.xでは22.23.4)。Astroは24以上では版の確認をしないため、修正前の24.xでもビルドは通る

結果は次のとおりです。

  • 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への一括更新の記録にまとめています。

ここからは編集部の整理です。

  1. ビルドのログで、今使われている版を確かめる。 変更履歴とドキュメントの値が違う時期は、ログが一番確かです
  2. Node.jsは、セキュリティ修正版を含む具体的な版で固定する。 24.x系なら24.22.1以上です。.node-version などのファイルで固定すると、版の変更がコードの差分としてレビューに乗ります
  3. 固定したら、更新の担当とタイミングを決める。 固定は「自動では上がらない」ことでもあります。Node.jsのセキュリティ修正が出たら固定の版を上げる、という運用をセットにします
  4. 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に公開された astro 7.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・自動化のご相談からお問い合わせください。

参考資料

この記事を共有XFacebook
鈴木 翔

技術の可能性に魅了され、学生時代からプログラミングとデジタルアートの分野に深い関心を持つ

この記事のテーマを、自社の次の一歩へ

Webサイトで、実現したいことから。

使う人の目的、必要な機能、更新の体制を整理し、制作・改善で最初に取り組むことを考えます。

  • サイトの目的
  • 機能と使いやすさ
  • 公開後の運用
Web制作・改善を相談する

構想段階からご相談いただけます。この記事の情報を相談フォームに引き継ぎます。

最新記事をメールで受け取る・Web制作ガイドを読む
無料ダウンロード

Web制作 費用・発注・集客 完全ガイド【2026年版】

費用相場・制作会社の選び方・集客戦略をPDFにまとめました。

The PDF and newsletter emails are currently in Japanese.

メルマガにも登録されます。いつでも解除可能です。