Cloudflare Pages のビルド環境は、Ruby、Node.js、Python、PHP、Go など、さまざまな言語に広く対応しています。
特定の言語バージョン(Node.js や Ruby など)が必要な場合は、ビルド設定の関連する環境変数を指定するか、ソースコードに該当ファイルを置くことで指定できます。
次の表で、Cloudflare Pages のビルドイメージに事前インストールされている言語とツールのバージョンと、事前インストール版の上書き に使える環境変数およびファイルを確認します。
| ツール | デフォルトバージョン | 対応バージョン | 環境変数 | ファイル |
|---|---|---|---|---|
| Go | 1.24.3 | Any version | GO_VERSION | |
| Node.js | 22.16.0 | Any version | NODE_VERSION | .nvmrc, .node-version |
| Bun | 1.2.15 | Any version | BUN_VERSION | |
| Python | 3.13.3 | Any version | PYTHON_VERSION | .python-version, runtime.txt |
| Ruby | 3.4.4 | Any version | RUBY_VERSION | .ruby-version |
| ツール | デフォルトバージョン | 対応バージョン | 環境変数 | ファイル |
|---|---|---|---|---|
| Go | 1.21.0 | Any version | GO_VERSION | |
| Node.js | 18.17.1 | Any version | NODE_VERSION | .nvmrc, .node-version |
| Bun | 1.1.33 | Any version | BUN_VERSION | |
| Python | 3.11.5 | Any version | PYTHON_VERSION | .python-version, runtime.txt |
| Ruby | 3.2.2 | Any version | RUBY_VERSION | .ruby-version |
| ツール | デフォルトバージョン | 対応バージョン | 環境変数 | ファイル |
|---|---|---|---|---|
| Clojure | ||||
| Elixir | 1.7 | 1.7 only | ||
| Erlang | 21 | 21 only | ||
| Go | 1.14.4 | Any version | GO_VERSION | |
| Java | 8 | 8 only | ||
| Node.js | 12.18.0 | Any version | NODE_VERSION | .nvmrc, .node-version |
| PHP | 5.6 | 5.6, 7.2, 7.4 only | PHP_VERSION | |
| Python | 2.7 | 2.7, 3.5, 3.7 only | PYTHON_VERSION | runtime.txt, Pipfile |
| Ruby | 2.7.1 | Any version between 2.6.2 and 2.7.5 | RUBY_VERSION | .ruby-version |
| Swift | 5.2.5 | Any 5.x version | SWIFT_VERSION | .swift-version |
| .NET | 3.1.302 |
| ツール | デフォルトバージョン | 対応バージョン | 環境変数 |
|---|---|---|---|
| Bundler | 2.6.9 | Corresponds with Ruby version | |
| Embedded Dart Sass | 1.62.1 | Up to 1.62.1 | EMBEDDED_DART_SASS_VERSION |
| gem | 3.6.9 | Corresponds with Ruby version | |
| Hugo | 0.147.7 | Any version | HUGO_VERSION |
| npm | 10.9.2 | Corresponds with Node.js version | |
| pip | 25.1.1 | Corresponds with Python version | |
| pipx | 1.7.1 | ||
| pnpm | 10.11.1 | Any version | PNPM_VERSION |
| Poetry | 2.1.3 | ||
| Yarn | 4.9.1 | Any version | YARN_VERSION |
| Zola | 0.22.1 | Any version | ZOLA_VERSION |
| ツール | デフォルトバージョン | 対応バージョン | 環境変数 |
|---|---|---|---|
| Bundler | 2.4.10 | Corresponds with Ruby version | |
| Embedded Dart Sass | 1.62.1 | Up to 1.62.1 | EMBEDDED_DART_SASS_VERSION |
| gem | 3.4.10 | Corresponds with Ruby version | |
| Hugo | 0.118.2 | Any version | HUGO_VERSION |
| npm | 9.6.7 | Corresponds with Node.js version | |
| pip | 23.2.1 | Corresponds with Python version | |
| pipx | 1.2.0 | ||
| pnpm | 8.7.1 | Any version | PNPM_VERSION |
| Poetry | 1.6.1 | ||
| Yarn | 3.6.3 | Any version | YARN_VERSION |
| Zola | 0.22.1 | Any version | ZOLA_VERSION |
| ツール | デフォルトバージョン | 対応バージョン | 環境変数 |
|---|---|---|---|
| Boot | 2.5.2 | 2.5.2 | |
| Bower | |||
| Cask | |||
| Composer | |||
| Doxygen | 1.8.6 | ||
| Emacs | 25 | ||
| Gutenberg | (requires environment variable) | Any version | GUTENBERG_VERSION |
| Hugo | 0.54.0 | Any version | HUGO_VERSION |
| GNU Make | 3.8.1 | ||
| ImageMagick | 6.7.7 | ||
| jq | 1.5 | ||
| Leiningen | |||
| OptiPNG | 0.6.4 | ||
| npm | Corresponds with Node.js version | Any version | NPM_VERSION |
| pip | Corresponds with Python version | ||
| Pipenv | Latest version | ||
| sqlite3 | 3.11.0 | ||
| Yarn | 1.22.4 | Any version from 0.2.0 to 1.22.19 | YARN_VERSION |
| Zola | (requires environment variable) | Any version from 0.5.0 and up | ZOLA_VERSION |
特定バージョンのフレームワークを使うには、プロジェクトのパッケージマネージャー設定ファイルで指定します。
たとえば Gatsby を使う場合、package.json には次を含めます。
"dependencies": {
"gatsby": "^5.13.7",
}ビルド開始時、まだ キャッシュ されていなければ、npm install で Gatsby のバージョン 5.13.7 がインストールされます。
ビルドシステムの言語とツールのデフォルトバージョンを上書きするには、環境変数で希望のバージョンを設定するか、プロジェクトにファイルを追加します。
環境変数でバージョンを設定する手順は次のとおりです。
- この表 で、その言語またはツールの環境変数名を確認します。
- Pages プロジェクトの Settings > Environment variables でダッシュボードに環境変数を追加するか、Wrangler で環境変数を追加 します。
または、プロジェクトにファイルを追加してバージョンを設定する手順は次のとおりです。
- この表 で、その言語またはツールのファイル名を確認します。
- 指定されたファイル名をプロジェクトのルートディレクトリに追加し、ファイルの内容として希望のバージョン番号を入れます。
たとえば、以前 v1 ビルドシステムで Node.js のデフォルトバージョンに依存していた場合、v2 へ移行するには、環境変数 NODE_VERSION = 12.18.0 を設定するか、内容が 12.18.0 の .node-version または .nvmrc ファイルをプロジェクトに追加して、Node.js 12.18.0 が必要であることを指定します。
次の環境変数を追加すると、自動の依存関係インストールを無効にし、代わりにカスタムのインストールコマンドを実行できます。
| ビルド変数 | 値 |
|---|---|
SKIP_DEPENDENCY_INSTALL |
1 または true |
v3 ビルドシステムは、デフォルトのツール、ライブラリ、言語を、2025 年 5 月時点の LTS バージョンに更新します。
この新しいバージョンへ移行するには、ダッシュボードで Pages プロジェクトの設定を変更します。
-
Cloudflare ダッシュボードで Workers & Pages ページを開きます。
Workers & Pages を開く ↗ -
Pages プロジェクトを選びます。
-
Deployments > All deployments を開き、最新バージョンを選びます。
以前ビルドシステムのいずれかの言語またはツールのデフォルトバージョンに依存していた場合、v3 への移行時にビルドが失敗することがあります。修正するには、デフォルトバージョンを 上書き し、使いたいバージョンを指定します。
v3 ビルドシステムでは、現在次の機能は使えません。
- Node.js バージョンをコードネーム(
hydrogenやlts/hydrogenなど)で指定すること。 yarn.lockファイルのバージョンから Yarn バージョンを検出すること。pnpm-lock.yamlファイルのバージョンに基づく pnpm バージョン検出。package.jsonの"engines"から Node.js とパッケージマネージャーを検出すること。pipenvとPipfileのサポート。
Cloudflare Pages のビルドは、gVisor ↗ コンテナで実行されます。
| ビルド環境 | Ubuntu |
| アーキテクチャ | x86_64 |
| ビルド環境 | Ubuntu |
| アーキテクチャ | x86_64 |
| ビルド環境 | Ubuntu |
| アーキテクチャ | x86_64 |
現在 v1 または v2 ビルドイメージを使っている場合、プロジェクトは自動的に v3 へ移行されます。
- v1 ビルドイメージ: Pages v1 ビルドイメージを使っている場合、プロジェクトは 2026 年 9 月 15 日に自動で v3 へ移行されます。
- v2 ビルドイメージ: Pages v2 ビルドイメージを使っている場合、プロジェクトは 2027 年 2 月 23 日に自動で v3 へ移行されます。
非推奨日の 6 か月前に、Cloudflare Changelog ↗、ダッシュボード通知、メールで通知されます。
今後、v3 ビルドイメージは、次の方針に従って事前インストール済みソフトウェアのローリング更新を受けます。これ以上のビルドイメージバージョン変更はありません。
事前インストール済みソフトウェア(言語とツール)は、サポート終了(EOL)の前に更新されます。これらの更新は、デフォルトバージョンを上書き していない場合にのみ適用されます。
- マイナーバージョンの更新: 予告なしに、利用可能な最新のマイナーバージョンへ更新される場合があります。セマンティックバージョニングに従わないツール(Bun や Hugo など)では、破壊的変更を含む可能性のある更新に 3 か月前の通知があります。
- メジャーバージョンの更新: 次の安定した長期サポート(LTS)バージョンへ、3 か月前の通知付きで更新されます。
通知方法(通知が必要な変更の場合):
- Cloudflare Changelog ↗
- 更新を受けるプロジェクト向けのダッシュボード通知
- プロジェクト所有者へのメール通知
特定バージョンを維持し、自動更新を避けるには、デフォルトバージョンを上書き します。
予期しないビルド失敗を避けるには、次を行います。
- Cloudflare Changelog ↗、ダッシュボード通知、メールで 告知を監視 します
- 更新通知を受けたら 移行を計画 します
- 重要な事前インストール済みソフトウェアは、デフォルトバージョンの上書き で 特定バージョンを固定 します