INTEGRITY Документация

Образ сборки

Среда сборки Cloudflare Pages широко поддерживает разные языки, такие как Ruby, Node.js, Python, PHP и Go.

Если вам нужно использовать конкретная версия языка (например, Node.js или Ruby), вы можете указать её, добавив соответствующую переменную окружения в конфигурацию сборки или создав нужный файл в исходном коде.

Поддерживаемые языки и инструменты

В следующих таблицах приведены предустановленные версии языков и инструментов, включённых в образ сборки Cloudflare Pages, а также переменные окружения и/или файлы, доступные для переопределение предустановленной версии:

Языки и среда выполнения

ИнструментВерсия по умолчаниюПоддерживаемые версииПеременная окруженияФайл
Go1.24.3Любая версияGO_VERSION
Node.js22.16.0Любая версияNODE_VERSION.nvmrc, .node-version
Bun1.2.15Любая версияBUN_VERSION
Python3.13.3Любая версияPYTHON_VERSION.python-version, runtime.txt
Ruby3.4.4Любая версияRUBY_VERSION.ruby-version
ИнструментВерсия по умолчаниюПоддерживаемые версииПеременная окруженияФайл
Go1.21.0Любая версияGO_VERSION
Node.js18.17.1Любая версияNODE_VERSION.nvmrc, .node-version
Bun1.1.33Любая версияBUN_VERSION
Python3.11.5Любая версияPYTHON_VERSION.python-version, runtime.txt
Ruby3.2.2Любая версияRUBY_VERSION.ruby-version
ИнструментВерсия по умолчаниюПоддерживаемые версииПеременная окруженияФайл
Clojure
Elixir1.7Только 1.7
Erlang21Только 21
Go1.14.4Любая версияGO_VERSION
Java8Только 8
Node.js12.18.0Любая версияNODE_VERSION.nvmrc, .node-version
PHP5.6Только 5.6, 7.2, 7.4PHP_VERSION
Python2.7Только 2.7, 3.5, 3.7PYTHON_VERSIONruntime.txt, Pipfile
Ruby2.7.1Любая версия от 2.6.2 до 2.7.5RUBY_VERSION.ruby-version
Swift5.2.5Любая версия 5.xSWIFT_VERSION.swift-version
.NET3.1.302

Инструменты

ИнструментВерсия по умолчаниюПоддерживаемые версииПеременная окружения
Bundler2.6.9Соответствует версии Ruby
Embedded Dart Sass1.62.1До 1.62.1EMBEDDED_DART_SASS_VERSION
gem3.6.9Соответствует версии Ruby
Hugo0.147.7Любая версияHUGO_VERSION
npm10.9.2Соответствует версии Node.js
pip25.1.1Соответствует версии Python
pipx1.7.1
pnpm10.11.1Любая версияPNPM_VERSION
Poetry2.1.3
Yarn4.9.1Любая версияYARN_VERSION
Zola0.22.1Любая версияZOLA_VERSION
ИнструментВерсия по умолчаниюПоддерживаемые версииПеременная окружения
Bundler2.4.10Соответствует версии Ruby
Embedded Dart Sass1.62.1До 1.62.1EMBEDDED_DART_SASS_VERSION
gem3.4.10Соответствует версии Ruby
Hugo0.118.2Любая версияHUGO_VERSION
npm9.6.7Соответствует версии Node.js
pip23.2.1Соответствует версии Python
pipx1.2.0
pnpm8.7.1Любая версияPNPM_VERSION
Poetry1.6.1
Yarn3.6.3Любая версияYARN_VERSION
Zola0.22.1Любая версияZOLA_VERSION
ИнструментВерсия по умолчаниюПоддерживаемые версииПеременная окружения
Boot2.5.22.5.2
Bower
Cask
Composer
Doxygen1.8.6
Emacs25
Gutenberg(требуется переменная окружения)Любая версияGUTENBERG_VERSION
Hugo0.54.0Любая версияHUGO_VERSION
GNU Make3.8.1
ImageMagick6.7.7
jq1.5
Leiningen
OptiPNG0.6.4
npmСоответствует версии Node.jsЛюбая версияNPM_VERSION
pipСоответствует версии Python
PipenvПоследняя версия
sqlite33.11.0
Yarn1.22.4Любая версия от 0.2.0 до 1.22.19YARN_VERSION
Zola(требуется переменная окружения)Любая версия от 0.5.0 и вышеZOLA_VERSION

Фреймворки

Чтобы использовать определённую версию фреймворка, укажите её в конфигурационном файле менеджера пакетов проекта. Например, если вы используете Gatsby, ваш package.json должен включать следующее:

"dependencies": {
	"gatsby": "^5.13.7",
}

Когда запускается сборка, если ещё не кешируется, версия Gatsby 5.13.7 будет установлена с помощью npm install.

Дополнительные настройки

Переопределение версий по умолчанию

Чтобы переопределить версии языков и инструментов, используемые системой сборки по умолчанию, задайте нужную версию через переменные окружения или добавьте соответствующие файлы в проект.

Чтобы задать версию через переменные окружения:

  1. Найдите имя переменной окружения для нужного языка или инструмента в эта таблица.
  2. Переменную окружения добавьте в панели управления, перейдя в Настройки > Переменные окружения в вашем проекте Pages, или добавить переменную окружения через Wrangler.

Или, чтобы задать версию, добавив файл в проект, можно:

  1. Найдите имя файла для нужного языка или инструмента в эта таблица.
  2. Добавьте указанное имя файла в корневой каталог проекта, а в качестве содержимого файла укажите нужный номер версии.

Например, если раньше вы полагались на версию 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:

  1. На панели управления Cloudflare перейдите к разделу Workers & Pages страницу.

    Перейдите в Workers & Pages ↗
  2. Выберите свой проект Pages.

  3. Перейдите в Развёртывания > Все деплои > и выберите последнюю версию.

Если раньше вы полагались на версии языков или инструментов в системе сборки по умолчанию, при переходе на v3 сборка может завершиться ошибкой. Чтобы это исправить, укажите нужную версию с помощью переопределение версии по умолчанию.

Ограничения

При использовании системы сборки v3 в настоящее время не поддерживаются следующие функции:

Среда сборки

Сборки Cloudflare Pages выполняются в gVisor контейнер.

Среда сборки

Ubuntu 22.04.2

Архитектураx86_64
Среда сборки

Ubuntu 22.04.2

Архитектураx86_64
Среда сборки

Ubuntu 20.04.5

Архитектураx86_64

Политика образа сборки

Прекращение поддержки версии образа сборки

Если сейчас вы используете образ сборки v1 или v2, ваш проект будет автоматически перенесен на v3:

О прекращении поддержки вы получите уведомление за 6 месяцев до даты прекращения через Cloudflare Changelog, уведомления в дашборде и электронная почта.

Начиная с этого момента образ сборки v3 будет получать поэтапные обновления предустановленного программного обеспечения согласно приведенной ниже политике. Дальнейших изменений версии образа сборки не будет.

Обновления предустановленного ПО

Предустановленное ПО (языки и инструменты) будет обновляться до достижения конца срока поддержки (EOL). Эти обновления применяются, только если вы не версия по умолчанию переопределена.

Как вы будете уведомлены (для изменений, требующих уведомления):

Чтобы сохранить определённую версию и избежать автоматических обновлений, переопределить версию по умолчанию.

Лучшие практики

Чтобы избежать неожиданных сбоев сборки: