<a name="top"></a>

Обновление Node.js для MeshCentral

Экспорт в PDF

Дата создания: 2026/05/16 03:51 (C) mihanik

<a href='javascript:history.back();'><img src=/lib/exe/fetch.php/level_up.png height=35 width=50></a>

Дано

MeshCentral пишет: «MeshCentral will require Node v20 or above in the future, your current version is v16.20.2.».

Надо

Обновить Node.js до нужной версии.

Решение

Обновление Node.js для MeshCentral — стандартная процедура, но требует аккуратности, чтобы не прервать работу сервиса. Ниже приведена безопасная пошаговая инструкция для Linux.

⚠️ Важно перед началом

Не обновляйте Node «на горячую» — остановите MeshCentral, иначе сервис может завершиться с ошибкой или повредить сессии.

Проверьте, как установлен Node

which node node -v

Если путь /usr/bin/node или /usr/local/bin/node → скорее всего, ставился через пакетный менеджер или n /nvm .

📦 Шаг 1: Остановка сервиса и бэкап

# Остановите MeshCentral sudo systemctl stop meshcentral # Бэкап данных и конфига sudo cp -r /opt/meshcentral/meshcentral-data /opt/meshcentral/meshcentral-data.backup sudo cp /opt/meshcentral/meshcentral-data/config.json /opt/meshcentral/config.json.backup

(Путь /opt/meshcentral/ может отличаться. Уточните через systemctl cat meshcentral )

🔧 Шаг 2: Установка Node.js v20 через официальный репозиторий NodeSource

Этот метод самый надёжный для production-серверов.

🐧 Debian/Ubuntu:

# Удалите старую версию (если ставилась из стандартных репозиториев) sudo apt remove -y nodejs npm # Подключите репозиторий Node.js v20 curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - # Установите Node.js v20 (включает npm) sudo apt install -y nodejs

🐧 RHEL/CentOS/Rocky/Alma/Fedora:

sudo dnf remove -y nodejs curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash - sudo dnf install -y nodejs
✅ NodeSource автоматически заменяет старую версию на v20.x LTS. Ручное удаление node_modules не требуется.

✅ Шаг 3: Проверка и обновление MeshCentral

# Убедитесь, что версии корректные node -v # должно быть v20.x.x npm -v # должно быть v10.x.x

Если MeshCentral был установлен глобально (npm -g ), обновите его до последней версии, совместимой с Node 20:

sudo npm install -g meshcentral@latest

Если MeshCentral установлен локально в папку (например, /opt/meshcentral ):

cd /opt/meshcentral sudo npm install

🔄 Шаг 4: Запуск и проверка

sudo systemctl start meshcentral sudo systemctl status meshcentral # Посмотрите логи на предмет ошибок sudo journalctl -u meshcentral -n 50 --no-pager

Ищите строку: MeshCentral v… started… и отсутствие ERROR .

💡 Нюансы и частые вопросы

Ситуация	Решение
всё ещё показывает v16	Очистите кэш: hash -r или перезагрузите терминал. Проверьте, не стоит ли nvm/n выше в $PATH.
MeshCentral падает с EACCES	Добавьте флаг –unsafe-perm: sudo npm install -g meshcentral@latest –unsafe-perm
Сервис использует старый путь к Node	Откройте sudo systemctl edit meshcentral и проверьте ExecStart. Должно быть ExecStart=/usr/bin/node /opt/meshcentral/…
Нужно оставить v16 для других проектов	Используйте n или nvm, но для systemd-сервиса лучше сделать symlink: sudo ln -sf /usr/bin/node /usr/local/bin/node

🆘 Если что-то пошло не так

1. Остановите сервис: sudo systemctl stop meshcentral
2. Восстановите бэкап: sudo mv /opt/meshcentral/meshcentral-data.backup /opt/meshcentral/meshcentral-data
3. Откатите Node (если ставили через NodeSource):

sudo apt purge nodejs nodejs-doc sudo rm /etc/apt/sources.list.d/nodesource.list sudo apt update sudo apt install nodejs npm # вернётся версия из репозитория ОС

4. Запустите MeshCentral снова и проверьте логи.

Источники

Наверх

В моей WIKI постоянно ведётся какая-то работа со статьями. Если у вас возникли вопросы или замечания, можете их отправлять на почту support@mihanik.net