NEWS
ioBroker und Nodejs 16
-
Hallo,
gestern wurde Nodejs 16 als neue Version veröffentlicht.Diese Version bringt "von Hause aus" npm 7.10.0 mit.
Bevor die ersten von Euch Fragen wie dazu der Stand mit ioBroker ist, hierzu Informationen von offizieller Seite.- Nodejs 16 ist ganz neu und kann daher durchaus noch Buggy sein und in den nächsten Monaten können auch noch Features hinzukommen. Erst im Oktober 2021 wird die Nodejs 16 zu einer sogennannten LTS Version.
- Wie immer bei Nodejs updates kann es bei "binär npm Modulen" zu Problemen kommen und Entwickler müssen erst anpassen. Daher kann es bei einzelnen Adaptern noch zu Problemen kommen! Seid also Vorsichtig
Ein erster Test hat ergeben:
- Installieren von ioBroker mit dem Installer (und vorher Nodejs 16 drauf gemacht): Funktioniert
- Installieren und Updaten von Adaptern von npm: Funktioniert
- Installieren und Updaten von Adaptern von GitHub: Funktioniert
- Nachinstallieren von Paketen (JavaScript/Ham): Funktioniert
- Update des js-controlelr per npm oder GitHub: FEHLER wegen npm Bugs!
- Update eines bestehenden Systems: NOCH AUSSTEHEND (denke im laufe des Tages komme ich dazu)
Also aus unserer Sicht
sieht es aktuell gut aus, aber wir haben noch keine vollständigen Erfahrungen mit der Version.sieht Nodejs 16 an sich gut aus, aber von npm 7.10.0 raten wir dringend ab! Ein Downgrade auf npm 6 sollte raber problemlos auch mit Nodejs 16 tun!
Auch, dadurch das Nodejs 16 formal noch keinen LTS Status hat, gilt: Offiziell nicht supportet Wer es wagen will gern, bei Problemen bitte Melden bei den Adaptern bzw in den GitHub Repos, aber dann können wir ggf nicht direkt helfen.Es gab inzwischen auch erste Problemberichte, so z.B. Cloud sich angeblich nicht verbindet u.ä. ... Muss man jetzt alles prüfen ...
Randinfo: Mit Release von Nodejs 16 wurde Nodejs 10 in Rente geschickt (bedeutet: Ist EOL). Das bedeutet erst einmal für alle laufenden Systeme nichts und alles geht weiterhin wie bisher. Mittelfristig, je nachdem wie Entwickler einzelner genutzter npm Module weiter vorgehen, kann es dazu kommen das neue Adapterversionen Nodejs 12 voraussetzen, was aktuell auch die Empfehlung ist.
Ingo
-
Ich habe gestern mal auf node16 gewechselt, npm allerdings auf npm@6 belassen.
Wie schaut es denn mit dem Paket aus node16+npm@7 aus?(Hab auch schon zwei Issues zu Adaptern auf git aufgemacht).
-
@thomas-braun sagte in ioBroker und Nodejs 16:
Wie schaut es denn mit dem Paket aus node16+npm@7 aus?
genau das hat er doch getestet, oder?
@apollon77 sagte in ioBroker und Nodejs 16:
Nodejs 16 als neue Version veröffentlicht.Diese Version bringt "von Hause aus" npm 7.10.0 mit.
...
vorher Nodejs 16 drauf gemachtdann müsste nach meinem Verständnis npm 7 drauf gewesen sein
-
@homoran
So ganz klar ist mir es nicht. Hab aber jetzt gerade nochmal flugs das komplette nodejs-Paket inkl. npm@7 auf die Kiste geworfen.
Schau 'mer mal... -
Ich habe nodejs 16.0.0 gecheckt und das bringt npm 7.10.0 mit automatisch. nom 6 tat vorher, also sollte das auch mit nodejs 16 tun weil das ist unabhängig.
-
@apollon77
Soweit läuft alles. Bis aufpi@raspberrypi:~ $ iobroker list instances | grep disabled system.adapter.cloud.0 : cloud : raspberrypi - disabled system.adapter.vodafone-speedtest.0 : vodafone-speedtest : raspberrypi - disabled
Da hab ich issues geöffnet.
Gab es denn Anpassungen bzgl. npm/ im ioBroker? Denn npm@7 sorgt(e) ja u. U. für Probleme bei diversen Installationen.
-
@thomas-braun DAnke für den Issue. Ich schaue ihn mir bei zeit an. Habe dort auch den Thread hier verlinkt.
Gruß
Pete -
Meine installierte Adapter laufen alle.
+ system.adapter.admin.0 : admin : iobroker - enabled, port: 8081, bind: 0.0.0.0, run as: admin + system.adapter.discovery.0 : discovery : iobroker - enabled + system.adapter.doorio.0 : doorio : iobroker - enabled, port: 4444 + system.adapter.email.0 : email : iobroker - enabled + system.adapter.fb-checkpresence.0 : fb-checkpresence : iobroker - enabled + system.adapter.fritzdect.0 : fritzdect : iobroker - enabled + system.adapter.influxdb.0 : influxdb : iobroker - enabled, port: 8086 + system.adapter.info.0 : info : iobroker - enabled + system.adapter.jarvis.0 : jarvis : iobroker - enabled + system.adapter.javascript.0 : javascript : iobroker - enabled + system.adapter.linux-control.0 : linux-control : iobroker - enabled + system.adapter.mqtt.0 : mqtt : iobroker - enabled, port: 1883, bind: 0.0.0.0 + system.adapter.s7.0 : s7 : iobroker - enabled + system.adapter.simple-api.0 : simple-api : iobroker - enabled, port: 8087, bind: 0.0.0.0, run as: admin + system.adapter.socketio.0 : socketio : iobroker - enabled, port: 8084, bind: 0.0.0.0, run as: admin + system.adapter.sonoff.0 : sonoff : iobroker - enabled, port: 1337, bind: 0.0.0.0 + system.adapter.telegram.0 : telegram : iobroker - enabled, port: 8443, bind: 0.0.0.0 + system.adapter.web.0 : web : iobroker - enabled, port: 8082, bind: 0.0.0.0, run as: admin + system.adapter.zigbee.0 : zigbee : iobroker - enabled, port: /dev/ttyACM0
-
So, wir wären dann mal wieder soweit ... npm ist blöd
https://github.com/npm/cli/issues/3123
https://github.com/npm/cli/issues/3116Beide Issues treffen uns scheinbar aktuell wenn man den js-controller über GitHub oder npm aktualisiert.
Also daher: Wir raten von npm 7 aktuell ab und beobachten die beiden Bugs. Ein Downgrade auf npm6 sollte auch mit nodejs 16 probemlos tun
-
Hallo zusammen,
da Node 10 als EOL angezeigt wurde, habe ich aus Unwissenheit direkt das Update auf 16.0 inklusive NPM 7.11 durchgeführt. Eigentlich verlief soweit alles problemlos. Es läuft auch alles wieder.
Einige Adapter standen auch zum Update bereit, also habe ich die auch gleich mit gemacht. Nun wird mein log mit warn messages von verschidenen Adaptern geflutet! Alle nach folgendem Schema:
State value to set for "xxx.0.yyy" has wrong type "number" but has to be "string"
Read-only state "xxx.0.yyy" has been written without ack-flag with value "0"Ist dies ein bekanntes Problem? Gibt es schon eine Lösung dafür?
Grüße -
Das hat nichts mit node16 zu tun, die Meldungen hängen mit dem Beta-js-controller zusammen. Hier lesen:
https://forum.iobroker.net/topic/44625/js-controller-3-3-jetzt-im-latest
Warum betreibst du Beta-Versionen, wenn du die ReleaseNotes dazu nicht liest?Ich würde aber dennoch node12 oder node14 inkl. npm@6 installieren.
Wie man die Versionen (unter Linux/Debian) wechseln kann steht in meiner Signatur drin. -
@thomas-braun Danke für die Info! Mir war nicht bewusst, das der Updatekanal auf Beta steht, deswegen hab ich auch nicht dementsprechend gesucht. Gab damit bisher keine Probleme, deswegen ist es mir auch nicht aufgefallen. Aber dann ist es wohl besser, ich stelle es auf stable und lese mich jetzt entsprechend ein.
-
Ja, so sieht es aus. Wobei soweit ich weiß die Verwahrorte auch mittlerweile umbenannt wurden. Latest war nicht deutlich genug, da steht jetzt wohl auch was von Beta drin.
-
Hallo,
also ich habe da eine Verständnisfrage. Ich habe gestern iobroker geupdatet und plötzlich war nodejs 14.7. empfohlen wird ja 12.22 in meinem iobroker (läuft auf Raspi).
Also habe ich mir gedacht ich downgrade das mal zu der nodejs 12.22 - gibt ja paar Anleitungen hier im Netz.
Nach der Installation soll man prüfen mit:apt policy nodejs
welche Version installiert ist.
Kommt 12.22
Aber bei:
node -v
kommt nodejs 14.7 und im iobroker steht auch 14.7 installiert und empfohlen 12.22.
Also wie kann man die 14.7 deinstallieren bzw. warum werden hier beide als isntalliert angezeigt und wie sage ich iobroker er soll doch die 12.22 nehmen.
Alle Anleitungen di ich im Netz gefunden habe zur manuellen Installation von nodejs 12.22 laufen sauber durch aber iobroker nimmt die 14.7???
Jemand eine Idee wie man die 14.7 deinstalliert bzw. iobroker auf die 12.22 umlenkt?
Grüsse,
Heinz
-
Steht in meiner Signatur drin.
-
@nighteagle Ehrlich ... wenn DU keine Probleme hast bleib auf 14 ... sind nur sseeehr wenige Adapter die hier ggf Issues haben
-
@apollon77
Ja, die node14 macht keine Probleme.
Wenn es sauber installiert ist. Hier scheint mir aber wieder mal eine Parallel-Installation von node12 und 14 vorzuliegen. Das sollte man richten. -
So eben auch mal auf Node16 mit NPM7 hoch. Nur der Zigbee wollte nicht. Neu installiert und alle Geräte frisch angelernt, läuft danach wie immer
jan@Beelink:~$ nodejs -v && node -v && npm -v && which nodejs && which node && which npm v16.3.0 v16.3.0 7.15.1 /usr/bin/nodejs /usr/bin/node /usr/bin/npm
-
Mit dem Post spaltest Du die IoBroker Gemeinde
-
@haselchen
Nur die, die Ihr System eh schon verfummelt habenDen Zigbee hätte man wohl auch anders ans Laufen bekommen, da stand was dazu im Log. Da aber einige Geräte eh etwas maulig waren, und es Warnungen deswegen gab, die Lösung eh ein neues Pairen gewesen wäre, habe ich da nicht lange gefackelt und ne Stunde lang alle Geräte neu eingerichtet