Перейти к основному содержимому

Версии Node.js и Python

Layero сам определяет, на какой версии собирать и запускать ваш проект. Если вам нужна конкретная — её можно закрепить.

Поддерживаемые версии

Node.jsСтатус
24поддерживается
22поддерживается, по умолчанию
20поддерживается
18снята с поддержки
PythonСтатус
3.13поддерживается
3.12поддерживается, по умолчанию
3.11поддерживается
3.10поддерживается

Версия, на которой собрался ваш проект, и её источник видны в логе сборки строкой вида [config] node=22.18.0 (.nvmrc).

Как закрепить версию Node.js

Способы перечислены в порядке приоритета — работает первый найденный.

1. Настройка проектаПроект → Настройки → Версия Node.js (её же можно выбрать при создании проекта).

2. Файл .nvmrc в корне репозитория

22

3. Файл .node-version — тот же формат.

4. Поле engines.node в package.json

{
"engines": { "node": ">=22" }
}

Настройка в интерфейсе приоритетнее файлов в репозитории: это последняя точка, где вы говорите платформе, чего хотите, и выбор в панели не должен молча проигрывать файлу. Если версия задана и там, и там, мы соберём на выбранной, а перекрытый пин назовём в логе сборки:

[config] node=24 (project settings); project setting overrode .nvmrc=22

Хотите, чтобы версию задавал сам репозиторий, — оставьте в настройке «Авто».

Достаточно указать мажор (22). Точную сборку внутри мажора мы обновляем сами вместе с обновлениями безопасности.

Как закрепить версию Python

1. Файл runtime.txt (формат Heroku):

python-3.12

2. Файл .python-version — просто 3.12.

Настройки в интерфейсе для Python пока нет.

Если указана неподдерживаемая версия

Сборка не падает. Мы соберём на версии по умолчанию и напишем об этом в логе:

[config] WARNING: Requested Node.js 16 is not supported (supported: 18, 20, 22, 24). Using 22.18.0.

Так сделано, чтобы опечатка в .nvmrc не блокировала деплой. Но проверьте предупреждение: версия по умолчанию может отличаться от той, на которой вы собираете локально.

Снятие версий с поддержки

Когда версия доходит до конца поддержки в апстриме, мы проходим три шага:

  1. Предупреждение — в логе сборки и в интерфейсе. Всё продолжает работать.
  2. Закрытие для новых сборок — примерно через 3–4 месяца. Новый деплой на этой версии не запустится, в ошибке будет сказано, что поправить.
  3. Уже задеплоенное продолжает работать всегда. Мы не пересобираем ваш сайт без вашего участия: статика лежит в хранилище, образы приложений неизменяемы.

О закрытии версии мы предупреждаем заранее письмом.

Node.js 18 сейчас на первом шаге. Дата закрытия для новых сборок — 1 сентября 2026 года.

Стоит обновиться заранее

Node.js 18 объективно уже не собирает современный фронтенд: например, Vite падает с ReferenceError: CustomEvent is not defined — эта функция появилась в Node 19. Если ваш проект закреплён на 18, обновление до 22 обычно проходит без правок кода.