Мои сайты
Частые вопросы
Полезные ссылки
Операционные системы
Программное обеспечение
Оборудование
СУБД
Кулинария
MeshCentral пишет: «MeshCentral will require Node v20 or above in the future, your current version is v16.20.2.».
Обновить Node.js до нужной версии.
Обновление Node.js для MeshCentral — стандартная процедура, но требует аккуратности, чтобы не прервать работу сервиса. Ниже приведена безопасная пошаговая инструкция для Linux.
which node node -v
Если путь /usr/bin/node или /usr/local/bin/node → скорее всего, ставился через пакетный менеджер или n /nvm .
# Остановите 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 )
Этот метод самый надёжный для production-серверов.
# Удалите старую версию (если ставилась из стандартных репозиториев) 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
sudo dnf remove -y nodejs curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash - sudo dnf install -y nodejs
node_modules не требуется.
# Убедитесь, что версии корректные 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
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 снова и проверьте логи.