Homebridge-Update auf Node.js 16.13.0 schlägt fehl

Beim Update von Node.js auf meiner lokalen Homebridge-Instanz bin ich in einen harten Fehler gelaufen:

ℹ Rebuilding for Node.js v16.13.0...
TypeError: Class extends value undefined is not a constructor or null
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js:114:44)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/index.js:5:33)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/make-fetch-happen/lib/agent.js:161:25)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
TypeError: Class extends value undefined is not a constructor or null
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/agent.js:114:44)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/socks-proxy-agent/dist/index.js:5:33)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/make-fetch-happen/lib/agent.js:161:25)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
Error: Command failed: npm rebuild --unsafe-perm
✖ ERROR: Failed Operation

Durch diesen Fehler funktioniert Homebridge zwar noch, es lassen sich nur keine relevanten Plugins mehr aktualisieren und der Server ebenfalls nicht.
Das Problem scheint im Zusammenspiel der Node-Version 16.13 und NPM zu liegen.

Node.js-Update durchführen

Mit dem folgenden Workaround lässt sich Node.js trotzdem auf 16.13.0 aktualisieren und NPM entsprechend anpassen:

Downgrade von node auf 14.18.1

sudo hb-service update-node 14.18.1

NPM-Abhängigkeiten auf Version 8 bringen

sudo npm i -g npm

Node wieder auf 16.13.0 aktualisieren

sudo hb-service update-node 16.13.0

NPM-Abhängigkeiten aktualisieren

sudo npm i -g npm

Danach war alles wie vorgesehen aktualisiert und die Homebridge wieder voll funktionsfähig.

0 0 Bewertungen
Gesamtbewertung
Kommentarbenachrichtigungen
Benachrichtige mich bei
0 Kommentare
Inline Feedbacks
View all comments