Обновление на Windows и на сервере
Обновление на Windows
Поставить можно через скачивание msi и через chocolatey. Всегда берём LTS версию.
Проверка способа установки
🔍 Как проверить, установлен ли Node.js через Chocolatey на Windows:
- Открой PowerShell (с правами администратора)
-
Введи команду:
choco list --installed
-
Найди в списке строку вроде:
nodejs 18.19.1
или
nodejs-lts 18.18.0
Если есть — значит Node.js установлен через Chocolatey.
💡 Дополнительно: Как узнать, где установлен node
Можно выполнить:
where node
Если путь будет вроде:
C:\ProgramData\chocolatey\bin\node.exe
то это — установка через Chocolatey.
Если путь типа:
C:\Program Files\nodejs\node.exe
то это, скорее всего, установка через официальный .msi
.
💡 Есть ли разница между установкой через Chocolatey и официальный сайт?
Да, небольшая разница есть:
Установка | Особенности |
---|---|
Официальный установщик (.msi) | - Графический интерфейс- Устанавливается в C:\Program Files\nodejs\ - Не управляется пакетным менеджером |
Chocolatey (choco install nodejs ) |
- Управляется через choco upgrade - Проще обновлять через терминал- Может устанавливаться в другую директорию- Удобен для автоматизации |
⚙️ Как обновить Node.js через Chocolatey:
-
Проверь текущую версию:
node -v
-
Обнови Node.js:
choco upgrade nodejs -y
Или, если ты использовал
nodejs-lts
:choco upgrade nodejs-lts -y
⚙️ Обновление через msi
Раз node.exe
находится в C:\Program Files\nodejs\
, значит Node.js установлен через официальный .msi
-установщик, а не через Chocolatey.
✅ Как обновить Node.js, установленный через .msi
- Перейди на официальный сайт Node.js: https://nodejs.org/
- Скачай установщик:
- Выбери нужную версию:
- LTS (рекомендуется для большинства пользователей)
- или Current (если тебе нужна самая последняя версия)
- Это будет файл вроде
node-v20.11.0-x64.msi
- Выбери нужную версию:
- Запусти
.msi
установщик:- Установщик сам обнаружит старую версию и обновит её поверх.
- Все пути, переменные окружения и
npm
тоже обновятся автоматически. - Перезагрузка не нужна.
-
После установки — проверь версии:
node -v npm -v
💡 Альтернатива: установка через nvm-windows (если хочешь управлять версиями)
Если ты когда-то захочешь использовать несколько версий Node.js (например, 16, 18 и 20), рекомендую установить nvm-windows, который позволяет переключаться между ними в один клик.
Если npm не обновился
cmd as admin
npm install -g [email protected]
npm -v
Обновление на сервере
Все операции под sudo См. ссылку выше, там есть упоминание про первую установку не из под sudo
Остановка PM2
Обновление Node.js на сервере — стандартная операция, но она может временно затронуть работающие сервисы. Ниже — чёткий порядок действий, чтобы всё прошло безопасно:
✅ Нужно ли останавливать Next.js/PM2?
Да, лучше временно остановить приложение через PM2, чтобы:
- избежать ошибок исполнения во время обновления Node.js
- потом перезапустить с уже новой версией Node.js
🔧 Шаги по обновлению Node.js с PM2 и Next.js:
-
Останови приложение:
pm2 stop quicklink-app
-
Проверь список процессов, чтобы убедиться, что остановлено:
pm2 ls
-
Обнови Node.js (например, через n):
sudo npm install -g n sudo n stable # или конкретную версию, например: sudo n 18.19.1
-
Проверь текущую версию Node.js:
node -v
-
Если нужно — пересобери зависимости проекта (иногда требуется):
rm -rf node_modules npm install
-
Запусти приложение обратно через PM2:
pm2 start quicklink-app
Если по какой-то причине процесс исчез:
pm2 start --name=quicklink-app npm -- run start
-
(Опционально) Сохрани конфигурацию PM2:
pm2 save
Если ты используешь pm2 startup
, чтобы процессы автозапускались после ребута, не забудь выполнить:
pm2 startup
pm2 save
Обновление через DNF
Если ты устанавливал Node.js через dnf
, значит ты на Fedora / RHEL / CentOS. Обновление Node.js через dnf
немного отличается от n
или nvm
. Вот как это делается корректно:
🔄 Обновление Node.js через DNF
-
Проверь текущую установленную версию:
node -v
-
Проверь, какие версии Node.js доступны в репозитории:
dnf module list nodejs
Ты увидишь что-то вроде:
Name Stream Profiles Summary nodejs 16 common [d], development, minimal Javascript runtime nodejs 18 common [d], development, minimal Javascript runtime nodejs 20 common [d], development, minimal Javascript runtime
-
Выключи текущий модуль (например, nodejs:16):
sudo dnf module reset nodejs
-
Включи нужный модуль (например, nodejs:20):
sudo dnf module enable nodejs:20
-
Установи обновлённый Node.js:
sudo dnf install -y nodejs
-
Проверь версию:
node -v npm -v
📦 А как насчёт npm
?
Да, при установке через DNF npm
обновится автоматически вместе с Node.js, так как он включён в пакет nodejs
. Но если тебе нужно обновить только npm
отдельно, можно:
sudo npm install -g npm
Определение точной версии Nodejs в DNF
Когда ты смотришь список модулей в dnf
, например:
nodejs 18
nodejs 20
nodejs 22
— там действительно не указано, LTS это или нет, и какая конкретно версия будет установлена (например, 18.18.2
или 20.11.1
). Сейчас поясню, как всё это работает и как синхронизировать версии между Linux и Windows.
✅ Как понять, какая версия стоит за nodejs 18/20/22
в DNF
Ты можешь временно включить модуль и посмотреть, какая версия будет установлена, не устанавливая сам Node.js:
sudo dnf module enable nodejs:18 -y
dnf info nodejs
Пример вывода:
Name : nodejs
Version : 18.18.2
Release : 1.module_el8+12345
Так ты узнаешь точную версию, которая ставится при nodejs:18
.
📌 Какие версии являются LTS?
На официальном сайте Node.js можно найти расписание версий:
Node.js версия | Тип поддержки | Статус |
---|---|---|
18.x | ✅ LTS (до апр. 2025) | Active LTS |
20.x | ✅ LTS (до апр. 2026) | Active LTS |
22.x | ❌ ещё не LTS | Current (до октября 2025) |
🎯 Как сделать одинаковую версию на Windows и сервере?
- Выбери конкретную версию, например
20.11.1
(последняя LTS):- На Windows — скачай
.msi
отсюда: 👉 https://nodejs.org/en/download/releases - На Linux (Fedora/RHEL):
- Найди ближайший
dnf
модуль, напримерnodejs:20
- Посмотри, какую конкретную версию он ставит:
sudo dnf module enable nodejs:20 -y dnf info nodejs
- Если версия устраивает — ставь:
sudo dnf install nodejs
- Найди ближайший
- На Windows — скачай
- Если версии отличаются, и ты хочешь точное совпадение, можно использовать NodeSource на Linux:
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
sudo dnf install -y nodejs
NodeSource даёт самую последнюю LTS версию ветки 20.x
(например, 20.11.1
).
Ещё вариант обновления
Вариант лучше - обновление через NodeSource
Отлично, давай поставим конкретную версию Node.js (например, 20.11.1
) через официальный источник — NodeSource. Это лучший способ, если хочешь, чтобы версия совпадала с той, что ты ставишь на Windows через .msi
.
✅ Установка Node.js 20.x через NodeSource
Работает на CentOS, RHEL, Rocky, AlmaLinux, Fedora и других RPM-based системах.
1. Удали предыдущие версии Node.js (если нужно):
sudo dnf remove -y nodejs
sudo dnf module reset -y nodejs
2. Подключи NodeSource для нужной ветки (например, 20.x):
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
Это добавит репозиторий NodeSource и обновит метаданные.
3. Установи Node.js:
sudo dnf install -y nodejs
4. Проверь установленную версию:
node -v
npm -v
Например:
v20.11.1
10.2.3
📌 Что даёт NodeSource:
- Устанавливает последнюю доступную версию в ветке (например,
20.11.1
). - У тебя будет одна и та же версия, что и на Windows, если ты ставишь
.msi
с сайта nodejs.org. - npm тоже обновится вместе с Node.js.
Flow
# Vultr snapshot
node -v
npm -v
pm2 stop appname
pm2 list
# all apps should be stopped
curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash -
node -v
npm -v
sudo su
cd /usr/share/nginx/domains/easy-embed-code.betteraveapps.com/public/extensions
sudo rm -rf node_modules
sudo npm install
cd ../app
sudo rm -rf node_modules
sudo npm install
sudo npx prisma generate
sudo npx prisma db push
sudo npm run build
sudo reboot
# Check health
# PM2 should start both processes
# svc should be running
# nginx should be running
# check in Shopify admin
# add another snapshot