Помощь и вопросы

... о версии Node.js на хостинге

Valery
Valery
1 день назад
13

судя по всему, по умолчанию система ставит Node 20.. и package ей не указ. по крайней мере, я не нашел способов изменить это. есть способы ставить версии новее?

3 ответов

relaxdevADMIN1 день назад

Нет, откуда вы это взяли ? По умолчанию стоит 24, но он смотрит вашу, может у вас остальные пакеты старые, которые только с 20 работают ? Если npm стоит старый, 9 или 10 он не даст установить node 24, проверьте локально, все библиотеки

relaxdevADMIN1 день назад

Проверьте Dokerfile или смените сборщик на next в настройках проекта Для generic docker-типа сборки (не next/nuxt) логика чуть проще — форс на 20 срабатывает, только если engines.node точно равен "20": bash[ -f package.json ] && [ "$(jq -r '.engines.node // empty' package.json)" == "20" ] Просто пропишите в package.json проекта: json"engines": { "node": "22" }

TypeScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Node 20  это не жёсткий дефолт, а частый случай
Логика выбора образа для Next/Nuxt (и для generic docker-сборки) такая:
bashNODE_MAJOR="24"   # в (28).yml — либо "22" в v2 (11).yml
if [ -f package.json ]; then
  ENGINES_NODE=$(jq -r '.engines.node // empty' package.json)
  if [ -n "$ENGINES_NODE" ]; then
    DETECTED=$(echo "$ENGINES_NODE" | grep -oE '[0-9]+' | head -1)
    if [ "$DETECTED" -ge 18 ]; then
      if [ "$BUILDER_TYPE" = "next" ] && [ "$DETECTED" -lt 20 ]; then
        NODE_MAJOR="20"   # ← принудительный подъём, т.к. Next.js требует >=20
      else
        NODE_MAJOR="$DETECTED"
      fi
    fi
  fi
fi
NODE_IMG="node:${NODE_MAJOR}-alpine"
Valery1 день назад

Спасибо, что откликнулись. У меня локально в dev установлен Node 22.14.0, pnpm -11.6.0. не самые модные, но вполне. При сборке докерфайла система упорно ставила Node 20 (хотя в package была прописана актуальная версия). Соответственно, т.к. pnpm 11.6 с Node 20 не работает, деплой падал, пока в package не зажал pnpm 9.15.4 Такой вот даунгрейд. И да, докерфайл не мой - доверился вашей системе.

Ответить без регистрации

Изображения, PDF, TXT • Ctrl+V для скриншота • до 5 файлов, 10 MB