Cloudflare 中文文档
Pages
编辑这个页面
跳转官方原文档
View GitHub RSS feed
Set theme to dark (⇧+D)

语言支持和工具

Cloudflare Pages 的构建环境广泛支持各种语言,如 Ruby、Node.js、Python、PHP 和 Go。

如果需要使用某种语言的特定版本(例如 Node.js 或 Ruby),可以在构建配置中提供相关环境变量,或在源代码中设置相关文件来指定。

​​ V2 构建系统

2023 年 5 月发布的 v2 构建系统 为项目构建带来了多项改进。要迁移到新版本,请在仪表板中配置 Pages 项目设置:

  1. 登录 Cloudflare 仪表板 并选择你的账户。
  2. 选择 工作区和页面> 在 概览中,选择你的页面项目。
  3. 转到设置> 构建和部署> 构建系统版本,然后选择最新版本。

值得注意的是,我们对包含的语言和工具的默认版本进行了更改。要提交有关 v2 的选择、缺失的工具和语言或迁移到 v2 时遇到的问题的反馈,请加入 Cloudflare Developer Discord

如果你之前依赖于构建系统中任何语言或工具的默认版本,则在迁移到 v2 时,你的构建可能会失败。 要解决这个问题,你必须指定你希望使用的版本。有关如何指定每种语言和工具的详细信息,请参见本页。例如,如果你以前依赖于 v1 版构建系统中的 Node.js 默认版本,那么迁移到 v2 版时,你必须通过设置 NODE_VERSION 环境变量或在项目中添加 .node-version.nvmrc 文件来指定你需要 Node.js 12.18.0

我们意识到 v2 版构建系统存在一些未解决的问题,我们打算修复这些问题:

  • 将 Node.js 版本指定为代号(例如,hydrogen lts/hydrogen)。
  • yarn.lock 文件版本检测 Yarn 版本。
  • 基于 pnpm-lock.yaml 文件版本检测 pnpm 版本。
  • package.json -> 引擎检测 Node.js 和软件包管理器。
  • 支持pipenvPipfile

​​ 支持的语言和工具

在下表中,请查看 Cloudflare Pages 构建环境中包含的工具的预安装版本,以及如何覆盖相关版本:

Language Default version Supported versions Environment variable File
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
Language Default version Supported versions Environment variable File
Go 1.21.0 Any version GO_VERSION
Node.js 18.17.1 Any version NODE_VERSION .nvmrc, .node-version
Python 3.11.5 Any version PYTHON_VERSION .python-version, runtime.txt
Ruby 3.2.2 Any version RUBY_VERSION .ruby-version

许多常用工具已预装在 Cloudflare Pages 构建环境中。可用于覆盖预安装版本的环境变量在下表中指定(如有):

Tool Default version Supported versions Environment variable
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
Tool Default version Supported versions Environment variable
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
Bun 1.0.1 Any version BUN_VERSION

如果你想设置 Cloudflare Pages 项目使用的框架的特定版本,请注意 Pages 将在构建过程中尊重你选择的软件包管理器。例如,如果你使用 Gatsby,你的 package.json 应指明 gatsby npm 软件包的版本,当你的项目在 Cloudflare Pages 上构建时,将使用 npm install 安装该软件包。

​​ 构建环境

Cloudflare 页面构建在 gVisor 容器中运行。

Operating system Ubuntu 20.04.5
Architecture x86_64
Operating system Ubuntu 22.04.2
Architecture x86_64