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

Версии 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. Файл .nvmrc в корне репозитория

22

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

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

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

4. Настройка проектаПроект → Настройки → Версия Node.

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

Достаточно указать мажор (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 года.

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