← Cloudflare Pages / pages / configuration
Образ сборки
Среда сборки Cloudflare Pages широко поддерживает разные языки, такие как Ruby, Node.js, Python, PHP и Go.
Если вам нужно использовать конкретная версия языка (например, Node.js или Ruby), вы можете указать её, добавив соответствующую переменную окружения в конфигурацию сборки или создав нужный файл в исходном коде.
Поддерживаемые языки и инструменты
В следующих таблицах приведены предустановленные версии языков и инструментов, включённых в образ сборки Cloudflare Pages, а также переменные окружения и/или файлы, доступные для переопределение предустановленной версии:
Языки и среда выполнения
| Инструмент | Версия по умолчанию | Поддерживаемые версии | Переменная окружения | Файл |
|---|---|---|---|---|
| Go | 1.24.3 | Любая версия | GO_VERSION | |
| Node.js | 22.16.0 | Любая версия | NODE_VERSION | .nvmrc, .node-version |
| Bun | 1.2.15 | Любая версия | BUN_VERSION | |
| Python | 3.13.3 | Любая версия | PYTHON_VERSION | .python-version, runtime.txt |
| Ruby | 3.4.4 | Любая версия | RUBY_VERSION | .ruby-version |
| Инструмент | Версия по умолчанию | Поддерживаемые версии | Переменная окружения | Файл |
|---|---|---|---|---|
| Go | 1.21.0 | Любая версия | GO_VERSION | |
| Node.js | 18.17.1 | Любая версия | NODE_VERSION | .nvmrc, .node-version |
| Bun | 1.1.33 | Любая версия | BUN_VERSION | |
| Python | 3.11.5 | Любая версия | PYTHON_VERSION | .python-version, runtime.txt |
| Ruby | 3.2.2 | Любая версия | RUBY_VERSION | .ruby-version |
| Инструмент | Версия по умолчанию | Поддерживаемые версии | Переменная окружения | Файл |
|---|---|---|---|---|
| Clojure | ||||
| Elixir | 1.7 | Только 1.7 | ||
| Erlang | 21 | Только 21 | ||
| Go | 1.14.4 | Любая версия | GO_VERSION | |
| Java | 8 | Только 8 | ||
| Node.js | 12.18.0 | Любая версия | NODE_VERSION | .nvmrc, .node-version |
| PHP | 5.6 | Только 5.6, 7.2, 7.4 | PHP_VERSION | |
| Python | 2.7 | Только 2.7, 3.5, 3.7 | PYTHON_VERSION | runtime.txt, Pipfile |
| Ruby | 2.7.1 | Любая версия от 2.6.2 до 2.7.5 | RUBY_VERSION | .ruby-version |
| Swift | 5.2.5 | Любая версия 5.x | SWIFT_VERSION | .swift-version |
| .NET | 3.1.302 |
Инструменты
| Инструмент | Версия по умолчанию | Поддерживаемые версии | Переменная окружения |
|---|---|---|---|
| Bundler | 2.6.9 | Соответствует версии Ruby | |
| Embedded Dart Sass | 1.62.1 | До 1.62.1 | EMBEDDED_DART_SASS_VERSION |
| gem | 3.6.9 | Соответствует версии Ruby | |
| Hugo | 0.147.7 | Любая версия | HUGO_VERSION |
| npm | 10.9.2 | Соответствует версии Node.js | |
| pip | 25.1.1 | Соответствует версии Python | |
| pipx | 1.7.1 | ||
| pnpm | 10.11.1 | Любая версия | PNPM_VERSION |
| Poetry | 2.1.3 | ||
| Yarn | 4.9.1 | Любая версия | YARN_VERSION |
| Zola | 0.22.1 | Любая версия | ZOLA_VERSION |
| Инструмент | Версия по умолчанию | Поддерживаемые версии | Переменная окружения |
|---|---|---|---|
| Bundler | 2.4.10 | Соответствует версии Ruby | |
| Embedded Dart Sass | 1.62.1 | До 1.62.1 | EMBEDDED_DART_SASS_VERSION |
| gem | 3.4.10 | Соответствует версии Ruby | |
| Hugo | 0.118.2 | Любая версия | HUGO_VERSION |
| npm | 9.6.7 | Соответствует версии Node.js | |
| pip | 23.2.1 | Соответствует версии Python | |
| pipx | 1.2.0 | ||
| pnpm | 8.7.1 | Любая версия | PNPM_VERSION |
| Poetry | 1.6.1 | ||
| Yarn | 3.6.3 | Любая версия | YARN_VERSION |
| Zola | 0.22.1 | Любая версия | ZOLA_VERSION |
| Инструмент | Версия по умолчанию | Поддерживаемые версии | Переменная окружения |
|---|---|---|---|
| Boot | 2.5.2 | 2.5.2 | |
| Bower | |||
| Cask | |||
| Composer | |||
| Doxygen | 1.8.6 | ||
| Emacs | 25 | ||
| Gutenberg | (требуется переменная окружения) | Любая версия | GUTENBERG_VERSION |
| Hugo | 0.54.0 | Любая версия | HUGO_VERSION |
| GNU Make | 3.8.1 | ||
| ImageMagick | 6.7.7 | ||
| jq | 1.5 | ||
| Leiningen | |||
| OptiPNG | 0.6.4 | ||
| npm | Соответствует версии Node.js | Любая версия | NPM_VERSION |
| pip | Соответствует версии Python | ||
| Pipenv | Последняя версия | ||
| sqlite3 | 3.11.0 | ||
| Yarn | 1.22.4 | Любая версия от 0.2.0 до 1.22.19 | YARN_VERSION |
| Zola | (требуется переменная окружения) | Любая версия от 0.5.0 и выше | ZOLA_VERSION |
Фреймворки
Чтобы использовать определённую версию фреймворка, укажите её в конфигурационном файле менеджера пакетов проекта.
Например, если вы используете Gatsby, ваш package.json должен включать следующее:
"dependencies": {
"gatsby": "^5.13.7",
}Когда запускается сборка, если ещё не кешируется, версия Gatsby 5.13.7 будет установлена с помощью npm install.
Дополнительные настройки
Переопределение версий по умолчанию
Чтобы переопределить версии языков и инструментов, используемые системой сборки по умолчанию, задайте нужную версию через переменные окружения или добавьте соответствующие файлы в проект.
Чтобы задать версию через переменные окружения:
- Найдите имя переменной окружения для нужного языка или инструмента в эта таблица.
- Переменную окружения добавьте в панели управления, перейдя в Настройки > Переменные окружения в вашем проекте Pages, или добавить переменную окружения через Wrangler.
Или, чтобы задать версию, добавив файл в проект, можно:
- Найдите имя файла для нужного языка или инструмента в эта таблица.
- Добавьте указанное имя файла в корневой каталог проекта, а в качестве содержимого файла укажите нужный номер версии.
Например, если раньше вы полагались на версию Node.js по умолчанию в системе сборки v1, при переходе на v2 нужно явно указать версию Node.js 12.18.0 задав NODE_VERSION = 12.18.0 переменную окружения либо добавив .node-version или .nvmrc файл в проект с помощью 12.18.0 добавлено в файл в качестве содержимого.
Пропустить установку зависимостей
Чтобы отключить автоматическую установку зависимостей и вместо этого выполнить собственную команду установки, добавьте следующую переменную окружения.
| Переменная сборки | Значение |
|---|---|
SKIP_DEPENDENCY_INSTALL |
1 или true |
система сборки v3
Система сборки v3 обновляет инструменты, библиотеки и языки по умолчанию до LTS версий по состоянию на май 2025 года.
миграция с v2 на v3
Чтобы перейти на эту новую версию, настройте параметры проекта Pages в dashboard:
-
На панели управления Cloudflare перейдите к разделу Workers & Pages страницу.
Перейдите в Workers & Pages ↗ -
Выберите свой проект Pages.
-
Перейдите в Развёртывания > Все деплои > и выберите последнюю версию.
Если раньше вы полагались на версии языков или инструментов в системе сборки по умолчанию, при переходе на v3 сборка может завершиться ошибкой. Чтобы это исправить, укажите нужную версию с помощью переопределение версии по умолчанию.
Ограничения
При использовании системы сборки v3 в настоящее время не поддерживаются следующие функции:
- Указание версий Node.js через кодовые имена (например,
hydrogenилиlts/hydrogen). - Определение версии Yarn из
yarn.lockверсии файла. - Определение версии pnpm на основе
pnpm-lock.yamlверсии файла. - Определение Node.js и менеджеров пакетов из
package.json->"engines". pipenvиPipfileподдержка.
Среда сборки
Сборки Cloudflare Pages выполняются в gVisor ↗ контейнер.
| Среда сборки | Ubuntu |
| Архитектура | x86_64 |
| Среда сборки | Ubuntu |
| Архитектура | x86_64 |
| Среда сборки | Ubuntu |
| Архитектура | x86_64 |
Политика образа сборки
Прекращение поддержки версии образа сборки
Если сейчас вы используете образ сборки v1 или v2, ваш проект будет автоматически перенесен на v3:
- образ сборки v1: Если вы используете образ сборки Pages v1, ваш проект будет автоматически переведён на v3 15 сентября 2026 года.
- образ сборки v2: Если вы используете образ сборки Pages v2, ваш проект будет автоматически переведён на v3 23 февраля 2027 года.
О прекращении поддержки вы получите уведомление за 6 месяцев до даты прекращения через Cloudflare Changelog ↗, уведомления в дашборде и электронная почта.
Начиная с этого момента образ сборки v3 будет получать поэтапные обновления предустановленного программного обеспечения согласно приведенной ниже политике. Дальнейших изменений версии образа сборки не будет.
Обновления предустановленного ПО
Предустановленное ПО (языки и инструменты) будет обновляться до достижения конца срока поддержки (EOL). Эти обновления применяются, только если вы не версия по умолчанию переопределена.
- Обновления минорных версий: Может обновляться до последней доступной минорной версии без предупреждения. Для инструментов, не следующих семантическому версионированию (например, Bun или Hugo), об обновлениях, которые могут содержать критические изменения, будет сообщено за 3 месяца.
- Обновления мажорных версий: Обновляется до следующей стабильной версии с долгосрочной поддержкой (LTS) с уведомлением за 3 месяца.
Как вы будете уведомлены (для изменений, требующих уведомления):
- Cloudflare Changelog ↗
- Уведомления Dashboard для проектов, которые получат обновление
- Уведомления по электронной почте владельцам проекта
Чтобы сохранить определённую версию и избежать автоматических обновлений, переопределить версию по умолчанию.
Лучшие практики
Чтобы избежать неожиданных сбоев сборки:
- Отслеживайте объявления через Cloudflare Changelog ↗, уведомления в дашборде и электронную почту
- План миграции когда вы получаете уведомления об обновлениях
- Закрепить конкретные версии критически важного предустановленного ПО с помощью переопределение версий по умолчанию