NEWS
Zwei verschiedene Versionen von node?
-
Hallo zusammen,
Ich hab da mal eine Verständnisfrage. Ich habe iobroker und Homebridge auf einem Raspi unter Bullseye laufen. Beide Systeme entsprechend aktueller Anleitung auf GitHub manuell installiert, also kein vorgefertigtes Image.
ioBroker habe ich zuerst zuerst installiert - dieser bringt node 16 auf das System wenn ich das richtig sehe. Danach Homebridge installiert. Dann eine kleine App namens Scriptable mit einem Homebridge-Script, welches in regelmäßigen Abständen schaut, ob alle Plugins von Homebridge und auch node aktuell sind, auf das iPhone installiert.
Mittels apt-get update && apt-get upgrade das System aktuell gemacht - Node bleibt auf Version 16 wie erwartet. Ungeachtet dessen sagt das Homebridge-Script, dass es eine neue Version von node gibt (Version 18).
Homebridge hat eine automatische Funktion zum Update von node: hb-service update-node. Nutzt man die, dann gibt es tatsächlich ein Update auf node 18, mit allem drum und dran was man so sieht in der Kommandozeile wenn man ein Update von node durchführt. Also hab ich jetzt node 18 drauf.Dachte ich.
Schaut man sich jetzt mal die Version von node und die update policy an, dann ist node immer noch auf v16:
pi@raspberrypi:~ $ uname -m && type -P nodejs node npm npx && nodejs -v && node -v && npm -v && npx -v && iob -v && whoami && groups && echo $XDG_SESSION_TYPE && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs aarch64 /usr/bin/nodejs /usr/bin/node /usr/bin/npm /usr/bin/npx v16.19.1 v16.19.1 8.19.3 8.19.3 4.0.24 pi pi adm dialout cdrom sudo audio video plugdev games users input render netdev gpio i2c spi iobroker tty /home/pi Hit:1 http://deb.debian.org/debian bullseye InRelease Hit:2 http://deb.debian.org/debian bullseye-updates InRelease Hit:3 http://security.debian.org/debian-security bullseye-security InRelease Hit:4 http://phoscon.de/apt/deconz bullseye InRelease Hit:5 http://archive.raspberrypi.org/debian bullseye InRelease Hit:6 https://deb.nodesource.com/node_16.x bullseye InRelease Hit:7 https://repo.homebridge.io stable InRelease Get:8 https://pkgs.tailscale.com/stable/debian bullseye InRelease Fetched 6,016 B in 2s (2,904 B/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. nodejs: Installed: 16.19.1-deb-1nodesource1 Candidate: 16.19.1-deb-1nodesource1 Version table: *** 16.19.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x bullseye/main arm64 Packages 100 /var/lib/dpkg/status 12.22.12~dfsg-1~deb11u3 500 500 http://security.debian.org/debian-security bullseye-security/main arm64 Packages 12.22.5~dfsg-2~11u1 500 500 http://deb.debian.org/debian bullseye/main arm64 Packages pi@raspberrypi:~ $
Das Homebridge-Script sagt aber, dass node mit v.18 jetzt aktuell ist? Werden da zwei verschiedene Versionen von node installiert? Weiß da jemand was drüber? Welche Version ist nun die, welche tatsächlich ausgeführt wird?
-
@guitardoc sagte in Zwei verschiedene Versionen von node?:
Homebridge hat eine automatische Funktion zum Update von node: hb-service update-node. Nutzt man die, dann gibt es tatsächlich ein Update auf node 18, mit allem drum und dran was man so sieht in der Kommandozeile wenn man ein Update von node durchführt. Also hab ich jetzt node 18 drauf.
da gab es schon mal Threads als es dann zu Problemen kam weil die vom homebridge installierte Version noch nicht mit iobroker kompatibel war.
@guitardoc sagte in Zwei verschiedene Versionen von node?:
Werden da zwei verschiedene Versionen von node installiert?
auch das ist durchaus möglich, sogar in unterschiedlichen Pfaden.
iob diag sollte eigentlich alles finden.
-
@homoran said in Zwei verschiedene Versionen von node?:
iob diag sollte eigentlich alles finden.
Coole Funktion! Die kannte ich noch gar nicht. Ich hab zwischenzeitlich das System neu aufgesetzt, die Backups laufen gerade, hb-service update-node hab ich noch nicht gemacht. Insofern hab ich node v16 drauf, zeigt iob diag auch so an und Fehler gibts auch nicht.
Hmm, was macht man nun am besten? V16 lassen? hb-service update-node durchführen und dann v18 irgendwo auch noch drauf haben? Gibts da Probleme? Fragen über Fragen...
-
@guitardoc sagte in Zwei verschiedene Versionen von node?:
und dann v18 irgendwo auch noch drauf haben? Gibts da Probleme?
mit Sicherheit!
Es kann nur einen geben!
-
@homoran
OK, dann werde ich mal die Finger lassen von hb-service update-node... Bisher scheint ja alles zu laufen.Trotzdem ist mir das unklar. Es wird doch viele Nutzer geben, welche beide Systeme auf dem Raspi haben. Dass es da nicht öfter zu Problemen kommt, die darauf zurückzuführen sind? In einer idealen Welt würden sich die Entwickler der beiden Systeme da ja mal abstimmen - aber das wird sicher niemals passieren...
-
@homoran sagte in Zwei verschiedene Versionen von node?:
iob diag sollte eigentlich alles finden.
Nein, iob diag findet nur die erste Version die im $PATH des Users aufkreuzt. Wenn Homebridge das irgendwo in einem eigenen Verzeichnis ablegt und darauf hart verlinkt kann iob diag das nicht finden.
-
Wäre es denn für ioB safe, auf Node 18.15.1 upzudaten und wie müsste man das machen?
-
Solange das nicht offiziell die empfohlene Version ist werde ich das auch nicht empfehlen.
Update läuft dann aber wie bei jedem Upgrade von nodejs über deinen Paketmanager. -
Die installieren node in einem eigenen Pfad:
Node Path /opt/homebridge/bin/node
Vermutlich linken die dann dorthin. Kann/wird aber mit anderen Kommandos rappeln, wenn nodejs zweimal installiert ist. Sagen die auch in ihrem Wiki.
Warum die aber nicht, wie der ioBroker z.B., auf die nodesource-Implementierung setzen sehe ich nicht. -
Im Info-Adapter erscheint justament:
v19.8.1 (Die Version v19.x von Node.js wird derzeit nicht vollständig unterstützt. - Empfohlene Version v18.15.0)
Da wird dann wohl in Kürze auch hier im Forum ein Posting zu kommen.
(Auf dem System fahre ich ganz bewusst die Versionen ganz nah an den Rand, daher die 19.8.1 da. Ist aber ganz ausdrücklich keine Version für ein Produktivsystem!)