Версии 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 не блокировала деплой. Но проверьте
предупреждение: версия по умолчанию может отличаться от той, на которой вы
собираете локально.
Снятие версий с поддержки
Когда версия доходит до конца поддержки в апстриме, мы проходим три шага:
- Предупреждение — в логе сборки и в интерфейсе. Всё продолжает работать.
- Закрытие для новых сборок — примерно через 3–4 месяца. Новый деплой на этой версии не запустится, в ошибке будет сказано, что поправить.
- Уже задеплоенное продолжает работать всегда. Мы не пересобираем ваш сайт без вашего участия: статика лежит в хранилище, образы приложений неизменяемы.
О закрытии версии мы предупреждаем заранее письмом.
Node.js 18 сейчас на первом шаге. Дата закрытия для новых сборок — 1 сентября 2026 года.
:::tip Стоит обновиться заранее
Node.js 18 объективно уже не собирает современный фронтенд: например, Vite
падает с ReferenceError: CustomEvent is not defined — эта функция появилась
в Node 19. Если ваш проект закреплён на 18, обновление до 22 обычно проходит
без правок кода.
:::