Node.js
Как обновить Node.js в Homebridge и не сломать плагины
Короткий ответ: в Homebridge обновление Node.js нужно делать аккуратно: сначала проверить текущую версию Node.js и Homebridge, затем сделать backup, после этого обновить Node.js рекомендованным способом для вашей установки и перезапустить сервис. На Raspberry Pi и Linux чаще всего используют команды Homebridge hb-service или системное обновление пакетов
Homebridge чувствителен к версии Node.js, потому что плагины работают внутри этой среды. Если обновить Node.js резко и без проверки, часть плагинов может перестать запускаться. Поэтому здесь важнее не “самая новая версия”, а совместимая LTS-версия
Сначала проверьте текущие версии
Откройте терминал на устройстве, где работает Homebridge, и выполните
node -v
npm -v
homebridge -V
Если Homebridge установлен как сервис, также проверьте статус
sudo hb-service status
Если команда hb-service не найдена, значит установка отличается от стандартной Homebridge UI / Homebridge Config UI X схемы. Тогда сначала нужно понять, как именно был установлен Homebridge
Сделайте backup перед обновлением
Перед обновлением сохраните конфигурацию Homebridge. В Homebridge UI обычно есть раздел для backup. Если вы работаете через файловую систему, важны папка конфигурации, config.json, данные аксессуаров и список плагинов
Обычно конфигурация лежит в одной из директорий
/var/lib/homebridge
~/.homebridge
Не пропускайте backup. Умный дом неприятно чинить в момент, когда внезапно пропали аксессуары или перестал стартовать важный плагин
Обновление через Homebridge UI
Если у вас установлен Homebridge UI, сначала зайдите в веб-интерфейс и посмотрите предупреждения. Homebridge обычно показывает, если версия Node.js устарела или не поддерживается
Дальше проверьте разделы обновления Homebridge и Node.js. В некоторых установках UI умеет помогать с обновлением, но конкретный способ зависит от платформы и того, как Homebridge был установлен
Если UI предлагает обновление, сначала сделайте backup, затем применяйте обновление и после перезапуска проверьте логи
Обновление на Linux и Raspberry Pi через hb-service
В стандартной установке Homebridge на Linux может использоваться hb-service. Сначала проверьте доступные команды
sudo hb-service --help
В ряде установок Homebridge рекомендует обновлять Node.js через встроенный механизм hb-service, если он доступен для вашей платформы. После обновления перезапустите сервис
sudo hb-service restart
И проверьте логи
sudo hb-service logs
Если hb-service не поддерживает обновление Node.js в вашей установке, используйте обычный способ обновления Node.js для Linux, но сначала проверьте рекомендации Homebridge для вашей версии
Обновление через apt или NodeSource
Если Node.js установлен как системный пакет, проверьте путь
which node
node -v
Для Ubuntu и Debian часто используют NodeSource. Пример для Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
node -v
npm -v
После обновления перезапустите Homebridge
sudo hb-service restart
sudo hb-service logs
Если Homebridge запускается через обычный systemd-сервис без hb-service, используйте
sudo systemctl restart homebridge
sudo journalctl -u homebridge -n 100 --no-pager
Нужно ли обновлять npm отдельно
Обычно npm обновляется вместе с Node.js. Проверить можно так
npm -v
Не стоит сразу выполнять глобальное обновление всех пакетов, если Homebridge уже работает. Сначала обновите Node.js, перезапустите Homebridge и убедитесь, что плагины живы
Что проверить после обновления
Минимальный список
node -v
npm -v
homebridge -V
sudo hb-service status
Затем откройте Homebridge UI и проверьте
- Homebridge запускается без красных ошибок
- плагины видны и не требуют срочного обновления
- аксессуары доступны в Apple Home
- в логах нет постоянных ошибок совместимости
Если ошибка появилась только у одного плагина, не откатывайте весь Node.js сразу. Сначала проверьте обновление этого плагина и его требования к версии Node.js
Если Homebridge не запускается после обновления
Сначала посмотрите логи
sudo hb-service logs
Или
sudo journalctl -u homebridge -n 100 --no-pager
Типовые причины: старая версия плагина, несовместимая версия Node.js, несколько установок Node.js в системе, сервис запускается не тем бинарником, который вы обновили
Проверьте путь Node.js внутри сервиса
which node
systemctl cat homebridge
Если в сервисе прописан старый путь, обновление в обычном терминале могло не повлиять на Homebridge
Мини-практика
Перед реальным обновлением сделайте маленькую карту состояния: текущий node -v, путь which node, версия Homebridge, список критичных плагинов и способ запуска сервиса. После обновления пройдитесь по этому же списку и сравните результат
Такой подход занимает несколько минут, но сильно снижает риск долгого ремонта умного дома после одной команды
Частые ошибки
Обновили Node.js без backup Если Homebridge или плагины не стартуют, backup позволяет быстрее откатиться к рабочей конфигурации
Поставили слишком новую версию Node.js Для Homebridge обычно надежнее использовать поддерживаемую LTS-версию, а не экспериментальную свежую ветку
Обновили Node.js в терминале, но сервис видит старый путь Проверьте systemctl cat homebridge и путь к node
Сразу обновили все плагины вместе с Node.js Так сложнее понять, что именно сломалось. Лучше обновлять поэтапно и смотреть логи
Что почитать дальше по Node.js
Если нужен общий маршрут по теме, откройте рубрику Node.js. Для соседних задач пригодятся эти разборы:
- Как обновить Node.js без боли
- Как обновить Node.js до 16: nvm, проверка версии и старые проекты
- Как обновить Node.js на Linux и Ubuntu без поломки проекта
- Как обновить Node.js через npm: что можно, а что лучше не делать