NEWS
[How-to] Node.js ioBroker richtig updaten-2021/22 Edition
-
@glasfaser Nein, ich habe nur den Benutzer maskiert und einen vergessen.
-
@ralfth sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Was machen denn die beiden Befehle?
Im Endeffekt zeigt die letzte Befehlskette ob bei dir alles sauber installiert ist.
Die erste Zeile legt einen Symlink, damit der nachfolgende Sums auch bestimmt durchläuft und alles wissenswerte ausgespuckt wird. -
Ich habe das Update erstmal rückgängig gemacht, weil (nur) mein Chromecast-Adapter mit NodeJs 16x und npm 8x nicht korrekt funktioniert.
Issue ist erstellt, und jetzt hoffe ich auf den Einfallsreichtum und das Fachwissen der Entwickler.
Ich denke, dass die Empfehlung für NodeJs 16 zu früh kam. Das zeigen meines Erachtens auch die vielen Bugmeldungen hier im Forum.
-
@meister-mopper sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Das zeigen meines Erachtens auch die vielen Bugmeldungen hier im Forum.
Zu einzelnen Adaptern habe ich so gut wie keine gesehen.
Nur zum generellen Switch auf npm8, vornehmlich durch Adapter-Versionen aus github verursacht.[Edit:] Für insgesamt 4400 Installationen (7,3%) , die Stand heute auf nodeJS16 laufen finde ich die Zahl der Hilferufe nicht ungewöhnlich hoch.
-
@thomas-braun Beim ersten Befehl gab es eine Fehlermeldung, weil der Symkink bereits existiert. Beim zweiten Befehl kam es zu folgender Ausgabe:
pi@raspberrypi:~ $ uname -m && which nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs armv7l /usr/bin/nodejs /usr/bin/node /usr/bin/npm v16.15.1 v16.15.1 8.11.0 pi /home/pi OK:1 http://phoscon.de/apt/deconz buster InRelease OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:3 http://archive.raspberrypi.org/debian buster InRelease OK:4 https://deb.nodesource.com/node_16.x buster InRelease OK:5 https://repos.influxdata.com/debian buster InRelease OK:6 https://packages.grafana.com/oss/deb stable InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Aktualisierung für 1 Paket verfügbar. Führen Sie »apt list --upgradable« aus, um es anzuzeigen. nodejs: Installiert: 16.15.1-deb-1nodesource1 Installationskandidat: 16.15.1-deb-1nodesource1 Versionstabelle: *** 16.15.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x buster/main armhf Packages 100 /var/lib/dpkg/status 10.24.0~dfsg-1~deb10u1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages pi@raspberrypi:~ $
Die zur Verfügung stehende Aktualisierung bezieht sich auf Grafana, welches ich aber z.Zt. nicht nutze.
pi@raspberrypi:~ $ apt list --upgradable Auflistung... Fertig grafana/stable 9.0.1 armhf [aktualisierbar von: 9.0.0] N: Es gibt 156 zusätzliche Versionen. Bitte verwenden Sie die Option »-a«, um sie anzuzeigen. pi@raspberrypi:~ $
Siehst du irgend etwas aufälliges?
-
@ralfth sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Siehst du irgend etwas aufälliges?
Nein, sieht soweit gut aus.
-
@thomas-braun sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Zu einzelnen Adaptern habe ich so gut wie keine gesehen.
Nur zum generellen Switch auf npm8, vornehmlich durch Adapter-Versionen aus github verursacht.Wer weiß, was ich mir da in den vergangenen Jahren als Dilletant so alles eingefangen habe.
Besser, ich setze einen neuen LXC auf und schaue, was das System nach einem Einspielen des Backup leistet.
Danke!
-
@thomas-braun Aber eine Erklärung für das Verhalten hast du auch nicht!?
Ist ja alles gut jetzt. Ich meine mich zu erinnern, das ich bei dem Versuch auf NodeJS 14 upzudaten auch schon ähnliche Probleme hatte. Damals hatte ich mich allerdings nicht weiter darum gekümmert, weil ich mir sagte "das System läuft, was solls." Aber irgendwann muss man halt ein Update durchführen.Also bleibt abschließend festzuhalten:
Falls das Update nicht durchgeführt wird einfach mal sudo apt autoremove durchführen und das Update erneut starten mit sudo apt-get install -y nodejs.Das brachte bei mir die Lösung, keine Ahnung warum.
-
@ralfth sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Aber eine Erklärung für das Verhalten hast du auch nicht!?
Nein, ohne die Meldung beim Upgrade nicht.
-
@thomas-braun sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Für insgesamt 4400 Installationen (7,3%) , die Stand heute auf nodeJS16 laufen finde ich die Zahl der Hilferufe nicht ungewöhnlich hoch.
Ein weiteres Argument dafür, dass offenbar mein System nach braunscher Einschätzung "verkrümmt" ist.
-
@meister-mopper wie ich soeben woanders schrieb
https://forum.iobroker.net/post/817514 -
@thomas-braun Hab dir alles gepostet, was im Terminal ausgegeben wurde. Es läuft und das ist jetzt wichtig.
Auf alle Fälle herzlichen Dank für deine Unterstützung und deine Geduld. -
Ohne jetzt alles gelesen zu haben, wurde eigentlich schon mal "n" erwähnt?
https://www.npmjs.com/package/n
Man kann damit simpel installieren, deinstallieren, zwischen den Versionen switchen...
n 16.15.1
und paar Sekunden drauf ist nodejs korrekt installiert
Macht es ziemlich anwenderfreundlich. -
@sborg sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Macht es ziemlich anwenderfreundlich.
Macht es für alle anderen nur schwerer da durchzusteigen.
n dürfte das über die alternatives (oder nach einem ähnlichen Muster) symlinken.
Kann man machen, wenn man mehrere npm-Versionen im System haben möchte (oder für Testzwecke muss) und die auch bändigen kann.
Für 99% der Installationen ist das aber nicht sinnvoll. Da empfiehlt sich eine saubere Installation über das nodesource-Paket. -
@chaot said in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Meine /opt/iobroker/package-lock.json war auch von 2019.
Adapter-Updates hatten seit Update auf Node 16 ewig gedauert. Das Entfernen der package-lock.json (hab sie umbenannt) hat geholfen.
-
@sborg Wo und wie installiert der denn? Wenn wie nvm unter dem User dann ist das Problematisch weil ja alles unter iobroker läuft und schon hat man den schönsten Mischmasch Also aufpassen
-
@apollon77 Der macht nichts spezielles und installiert es unter /usr/local/[bin, include, lib, und share]
Damit hat auch der User iobroker "normale" Rechte drauf.
Der einzige Unterschied ist, dass zusätzlich unter /usr/local/n/versions/node/... noch die gecachten Versionen liegen, damit man eben switchen kann.Ich nutze es mittlerweile seit ca. 3 Jahren und habe seitdem keine Probleme mehr (auch mir ist da vorher mal der ein oder andere faux pas unterlaufen ). 14 Mio downloads sprechen da IMO auch für sich.
Allerdings muss trotzdem eines klar sein (für Mitleser): eine vermurkste Installation biegt es auch nicht mehr gerade. Sorry, aber eine korrekte Erstinstallation ist ein muss. -
Update heute vollzogen Zuerst beim Slave und danach den Master. Beides völlig problemlos. Einzig der Mihome-Adapter hat danach das fehlende Canvas bemängelt, aber das war gleich nachinstalliert.
Das „Austauschen“ der Github-Versionen gegen die aus stable oder latest hat also mögliche Probleme im Vorfeld ausgemerzt.Gruss, Jürgen
-
@wildbill sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Das „Austauschen“ der Github-Versionen gegen die aus stable oder latest hat also mögliche Probleme im Vorfeld ausgemerzt.
Das so gelesen ... ich schreib das mal oben mit rein in den ersten Post
-
@sborg aber da haben wir wieder /local/, das gibt Ärger bei nodesource