跳转到内容
搜索文档

构建镜像

最后更新 查看 MarkdownAgent 设置

Workers Builds 使用支持多种语言和工具的构建镜像,例如 Node.js、Python、PHP、Ruby 和 Go。

支持的工具

Workers Builds 支持多种运行时、语言和工具。除非检测到或指定自定义版本,否则构建将使用下面列出的默认版本。你可以使用环境变量或版本文件覆盖默认版本。所有版本均可覆盖。

运行时

Tool Default version Environment variable File
Go 1.24.3 GO_VERSION
Node.js 22.16.0 NODE_VERSION .nvmrc, .node-version
Python 3.13.3 PYTHON_VERSION .python-version, runtime.txt
Ruby 3.4.4 RUBY_VERSION .ruby-version

工具和语言

Tool Default version Environment variable
Bun 1.2.15 BUN_VERSION
Hugo extended_0.147.7 HUGO_VERSION
npm 10.9.2
yarn 4.9.1 YARN_VERSION
pnpm 10.11.1 PNPM_VERSION
pip 25.1.1
gem 3.6.9
poetry 2.1.3
pipx 1.7.1
bundler 2.6.9

高级设置

覆盖默认版本

如果你需要覆盖镜像中语言或工具的特定版本,可以将其指定为构建环境变量,或如上所示在源代码中设置相关文件。

要使用构建环境变量设置版本,可以:

  1. 找到语言和工具的环境变量名称及所需版本(例如 NODE_VERSION = 22
  2. 在 Worker 项目中前往 Settings(设置) > Build > Build Variables and Secrets,在仪表板上添加并保存环境变量

或者,要通过向项目添加文件来设置版本,可以:

  1. 找到语言和工具的文件名(例如 .nvmrc
  2. 将指定的文件名添加到根目录,并将所需版本号设置为文件内容。例如,如果版本号为 22,文件应包含 '22'。

跳过依赖安装

你可以添加以下构建变量以禁用自动依赖安装,改为运行自定义安装命令。

Build variable Value
SKIP_DEPENDENCY_INSTALL 1 or true

预装软件包

在下表中查看构建镜像中预装的软件包。这些软件包使用 apt(Linux 发行版的包管理器)安装。

curl libbz2-dev libreadline-dev
git libc++1 libssl-dev
git-lfs libdb-dev libvips-dev
unzip libgdbm-dev libyaml-dev
autoconf libgdbm6 tzdata
build-essential libgbm1 wget
bzip2 libgmp-dev zlib1g-dev
gnupg liblzma-dev zstd
libffi-dev libncurses5-dev

构建环境

Workers Builds 在以下环境中运行:

Build Environment Ubuntu 24.04
Architecture x86_64

构建镜像策略

预装软件更新

预装软件(语言和工具)将在到达生命周期结束(EOL)之前更新。这些更新仅在你未覆盖默认版本时适用。

  • 次要版本更新:可能会在没有通知的情况下更新到最新的可用次要版本。对于不遵循语义化版本控制的工具(例如 Bun 或 Hugo),可能包含破坏性更改的更新将提前 3 个月通知。
  • 主要版本更新:更新到下一个稳定的长期支持(LTS)版本,提前 3 个月通知。

你将如何收到通知(对于需要通知的更改):

要维护特定版本并避免自动更新,请覆盖默认版本

最佳实践

为避免意外的构建失败:

这篇文档对您有帮助吗?