NEWS
[How-to] Node.js ioBroker richtig updaten-2021/22 Edition
-
@thomas-braun ja, hat geklappt - vielen Dank dir !
@karsten089 Zeig mal die Ausgabe.
-
MOD-EDIT: Diese Anleitung ist veraltet. Update und Fix der nodejs Installation ist mittlerweile in dem Befehl
iob nodejs-updateenthaltenHi,
in diesem Artikel möchte ich einen Überblick geben, wie inzwischen (meint anno 2021 mit einem js-controller 3.x bzw 4.x) Node.js Updates bei ioBroker ausgeführt werden sollten bzw können.
Was ist Node.js und warum muss man es updaten?
Node.js ist die Laufzeitumgebung der Programmiersprache JavaScript, in der ioBroker geschrieben ist. Ohne Node.js funktioniert ioBroker nicht. Node.js hast Du initial selbst installiert oder der ioBroker-Installer hat dies für dich getan.
Wie bei vielen Open-Source-Technologien üblich, entwickelt sich Node.js schnell weiter. Kleinere Updates, die die Stabilität und Sicherheit steigern oder gar neue Funktionen hinzufügen, erscheinen regelmäßig.
Node.js-Versionen mit gerader Hauptversionsnummer werden als LTS-Versionen (Long Term Support) bezeichnet und einige Jahre gepflegt (z.B. 12.x). Jedes Jahr kommt eine neue Version ins LTS - in diesem Jahr (2021) ist das Node.js 16, welche im April veröffentlicht wurde und ab Oktober 2021 eine LTS Version wird.
Im gleichem Zug erreichen frühere LTS-Versionen ihr Lebensende (EOL, End of Life). So hat Node.js 8 im April 2020 den EOL-Status erhalten und bekommt damit keine Updates mehr, Nodejs 10.x wird Ende April 2021 Ihr Lebensende erreichen. Es wird also keine Sicherheits-Updates mehr geben! Node.js 12.x wird im April 2022 eol geben.
Alle Node.js-Versionen mit ungeraden Versionsnummern sind Entwicklungsversionen und sollten nicht produktiv genutzt werden.
ioBroker nutzt viele Module und Erweiterungen aus der JavaScript Open-Source Szene, und dort kommt es regelmäßig vor, dass Versionen die EOL gehen zeitnah danach auch nicht weiter unterstützt werden. Das hat im ersten Schritt keine echte Auswirkung, aber mittelfristig wird es also Adapter, und später auch den js-controller geben, der EOL Versionen von Node.js nicht mehr unterstützt.
Node.js 10 wird mit dem js-controller 3.x voll unterstützt. Ab dem js-controller 4.0 (Februar 2022) ist Node.js 10.x nicht mehr untertsützt.
Auf welche Node.js Version updaten?
Aktuell empfiehlt ioBroker die Nutzung von Node.js 16.x.
Folgende Adapter haben momentan Probleme mit Node.js 14:
- jeelink
Folgende Adapter haben momentan Probleme mit Node.js 16:
- jeelink?
*Node.js 16.x wird auch vom js-controller 3.3 grundsätzlich unterstützt, aber nur mit npm 6! npm 7 bzw 8 sind mit dem js-controller 4.0 nutzbar.
Update vorbereiten
Node.js Version prüfen
Bevor man beginnt, sollte man in der Befehlszeile mit dem Befehl
node -vüberprüfen, welche Version von Node.js gerade installiert ist. Eine gute Idee ist es, diese Versionsangabe auch mit der Node.js-Version im Übersichts-Fenster des ioBroker-Admins für diesen Host zu vergleichen. Sollten sich die Versionen unterscheiden, sind mehrere Node.js-Varianten installiert, was zu Problemen führen kann. Diese Probleme müssen VOR dem Update dann behoben werden! Anleitung zB unter https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian/2
Betriebssystem prüfen
Dann auch prüfen was man für ein Betriebssystem hat. Vor allem im Raspi Umfeld sind gern auch älterer Systeme auf basis von "Debian jessie" oder "Debian wheezy" im Einsatz. Für die gibt es nichts was höher ist als Nodejs 10, da steht dann ggf auch ein Betriebssystemupdate an, was wir hier aber nicht behandeln können.
Unterstützte Linux Distributionen sind unter https://github.com/nodesource/distributions#debian-and-ubuntu-based-distributions aufgelistet.
Unter Debian und Ubuntu gibt es mitlsb_release -aeine Ausgabe was man aktuell nutzt.js-controller Version prüfen
Weiterhin bitte prüfen welche js-controller Version Installiert ist (ebenfalls auf dem Host-Tab im Admin einsehbar).
Bei Versionen VOR js-controller 3.x, wenn möglich bitte zuerst den js-controller aktualisieren. Am besten auf mindestens die 3.2! Hierzu gibt es extra Threads im Forum wie z.B. https://forum.iobroker.net/topic/42385/js-controller-3-2-jetzt-im-stable bzw https://forum.iobroker.net/topic/52886/js-controller-4-0-x-jetzt-für-alle-user-im-stableAdapter aktualisieren
Damit es nach dem Update zu keinen Inkompatibilitäten oder Probleme kommt, sollte man alle Adapter prüfen und aktualisieren. Vor allem Adapter mit nativen Bestandteilen, wie alles mit Serialport oder Bluetooth können Probleme bereiten. Hier am besten die Adapter-Readme's per Admin oder im GitHub prüfen, ob neue Versionen zur Verfügung stehen die die geplante Node.js Version explizit erst unterstützen.
Bei Updates wo es größere Versionssprünge bei npm gibt (zb Node.js 14->16 updated npm von 6.x auf 8.x) kann es sehr hilfreich sein wenn man schaut ob Adapter die von GitHub installiert wurden inzwischen in der gleichen version auf auf npm liegen und dann ggf von dort nochmals installieren oder updaten. Im Admin werden Adapter die per GitHub installiert wurden gesondert mit einem GitHub Symbol angezeigt. Das hilft auch im Vorfeld Probleme zu vermeiden.
Wenn man diesen Schritt nicht durchführt kann es zu unnötigen Problemen beim update der Adapter kommen!
Backup erstellen
Zuerst muss natürlich unbedingt ein Backup erstellt werden. Dazu kann z.B. der BackItUp-Adapter genutzt oder der Kommandozeilenbefehl
cd /opt/iobroker iobroker backupausgeführt werden. Das Backup sollte aktuell sein, damit möglichst keine Daten verloren gehen.
Node.js updaten
Für Windows-Systeme kann ich leider gerade nichts genaues sagen, wir schauen das wir das noch ergänzen. Aufruf an die Community: Wer Schritte hat gern als eigener Post oder hier einbringen :-) Danke
Einen Post aus der Community gab es dazu: https://forum.iobroker.net/post/624003Linux-Systeme
ioBroker stoppen
Zuerst ioBroker stoppen, damit Updates keine Nebeneffekte oder Abstürze verursachen.iobroker stopBitte anschließend im Webbrowser prüfen, dass der ioBroker-Admin danach wirklich nicht mehr läuft. Sollte er weiterhin aufrufbar sein, dann den Rechner neu starten und nochmals „iobroker stop“ ausführen und erneut testen. Für die Techniker unter uns: Man kann auch mit einem Tool wie "top" prüfen, ob noch Prozesse existieren, die mit "io." beginnen. Die dann am besten mit einem beherzten "sudo kill -9 <ProzessID>" zwangsbeenden.
Node.js updaten
Jetzt aktualisiert man Node.js auf die gewünschte neue Version.Unter Linux reicht es, dazu den Nodesource-Installationsbefehl für das jeweilige Betriebssystem auszuführen. Verschiedene Varianten (auch Root und Nicht-Root) sind unter https://github.com/nodesource/distributions#debinstall gelistet.
Zum Beispiel lauten die Befehle für einen Raspberry Pi der ein Debian bzw. Raspbian-Image verwendet wie folgt, wenn man nicht als root-User (z.B. richtig mit dem User "pi") angemeldet ist:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install -y nodejsFür Node.js 16 einfach in der URL oben anstelle der 14 eine 16 reinschreiben.
Für macOS gibt einen Installer auf https://nodejs.org/en/download/ , den man einfach ausführt.
Ob die Aktualisierung geklappt hat, kann man wieder mit dem Befehl
node -vüberprüfen.
Auch die npm Version sollte mit
npm -vgeprüft werden. Mit einem js-controller <4 sicherstellen das idealerweise keine 7.x/8.x von npm installiert ist!
ioBroker fixer ausführen
Da die Installation von Node.js einige Einstellungen am System verändert haben kann, ist es jetzt ratsam, den ioBroker-Installationsfixer aufzurufen. Das geschieht mit dem Befehliobroker fixEr stellt unter anderem die für den Betrieb von ioBroker notwendigen Sicherheitseinstellungen wieder her und prüft und korrigiert alle Berechtigungen. Das kann einen Augenblick dauern, bitte Geduld haben.
Erster ioBroker Neustart NACH Update
Einige genutzte JavaScript Module haben binäre Teile, welche bei einem Node.js Update nicht mehr kompatibel sind und neu erstellt werden müssen.
Automatische Rebuilds
ioBroker versucht seit dem js-controller 3.0 automatisch die Adapter zu erkennen die nicht starten weil Sie aktualisiert werden müssen. Dies funktioniert so das die typischen Fehlermeldungen erkannt werden und ioBroker dann die Aktualisierung versucht.
js-controller 3.x
Zuerst wird ein "rebuild" des betroffenen Adapters ausgeführt, falls das nicht hilft werden die Adapter-Abhängigkeiten aktualisiert.js-controller 4.0
Zuerst wird versucht alle Adapter zu rebuilden, falls das nicht hilft wird versucht zielgerichtet die relevanten Module neu zu bauen.Daher kann es sein das der Adapter mehrfach ersucht wird neu zu starten. Hier bitte UNBEDINGT Geduld haben! Erst wenn der Adapter dauerhaft rot bleibt und auch im Log steht das der Rebuild nicht geklappt hat aktiv werden!
Bei einigen Adaptern (zB iot die optionale native Abhängigkeiten haben) funktioniert die automatische Erkennung nicht und das rebuild muss manuell angestoßen werden. Dies kann dadurch erkannt werden das der Adapter "Rot" bleibt und nicht startet oder einzelne Funktionen nicht gehen und das als Fehler im Log steht. Dann sollte das Log geprüft werden (neben Admin stehen Logfiles auch unter /opt/iobroker/log/... zur Verfügung.
Manuelle Rebuilds
Hier zu gibt es
iobroker rebuild, bzw die Kommandos die im Log angezeigt werden falls der Automatische Rebuild nicht funktioniert.Sonderfälle (z.B. Serialport)
Leider gibt es Sonderfälle, wo auch die obigen Optionen das Rebuild nicht erledigen, einer davon ist Serialport.
Dort kann ein Log zB (auch nach allen Rebuild Versuchen) wie folgt aussehen
host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: } host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: ] host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node' host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/default/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Release/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Release/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Debug/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Debug/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Release/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Debug/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: tries: [ host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30) { host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/auto-detect.js:16:22) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at require (internal/modules/cjs/helpers.js:77:18) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:1019:19) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:877:14) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:977:32) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/linux.js:2:36) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at bindings (/opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:93:9) host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/default/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Release/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Release/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Debug/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Debug/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Release/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Debug/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: Error: Could not locate the bindings file. Tried: host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: ^ host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: throw err host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: /opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:96Es gibt auch andere Fehlermeldungen die aber alle auf das gleiche hinauslaufen.
Die einfachste Option ist es dann manuell im richtigen Verzeichnis neu zu bauen.
In dem Fall das Verzeichenis mit "bindings" suchen - oben ist das /opt/iobroker/node_modules/serialport/node_modules/bindings ... bei neueren Versionen kann es auch etwas wie /opt/iobroker/node_modules/serialport/node_modules/@serialport/bindings sein.
Dann in dieses Verzeichnis wechseln undnpm install --productionausführen. Danach den Adapter nochmal sneu starten, das sollte dann tun.Ein weiterer Fall sind Adapter mit canvas Modul (ggf echarts oder Mihome-vacuum) wo es Probleme gebe kann.
Andere Sonderfälle muss man sich im Detail ansehen. Bitte unten Posten und wir unterstützen.
Weitere Notfall Optionen
Im früheren Artikel unter https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten sind noch weitere manuelle Möglichkeiten beschrieben ioBroker wieder zum laufen zu bekommen, aber diese sollten an sich nicht mehr nötig sein, gehen aber natürlich auch noch!
Dieser Artikel gilt also auch weiterhin.Jetzt viel Erfolg und gebt bitte Feedback wie git es geklappt hat oder welche Probleme Ihr habt.
Ingo
Update hat wunderbar funktioniert. Jedoch lässt sich der ble und zigbee nicht wiederherstellen
Last login: Mon Oct 25 11:01:39 2021 from 10.0.0.21 pi@iobroker:~$ npm -v 6.4.1 pi@iobroker:~$ iobroker rebuild zigbee --install npm install --loglevel error --production (System call1) in "/opt/iobroker/node_modules/iobroker.zigbee" npm ERR! cb.apply is not a function npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-10-25T09_35_25_571Z-debug.log Rebuild zigbee done pi@iobroker:~$ iobroker rebuild ble npm rebuild --loglevel error (System call1) in "/opt/iobroker/node_modules/iobroker.ble" npm ERR! cb.apply is not a function npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-10-25T09_35_36_317Z-debug.log Rebuild ble done pi@iobroker:~$ -
Update hat wunderbar funktioniert. Jedoch lässt sich der ble und zigbee nicht wiederherstellen
Last login: Mon Oct 25 11:01:39 2021 from 10.0.0.21 pi@iobroker:~$ npm -v 6.4.1 pi@iobroker:~$ iobroker rebuild zigbee --install npm install --loglevel error --production (System call1) in "/opt/iobroker/node_modules/iobroker.zigbee" npm ERR! cb.apply is not a function npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-10-25T09_35_25_571Z-debug.log Rebuild zigbee done pi@iobroker:~$ iobroker rebuild ble npm rebuild --loglevel error (System call1) in "/opt/iobroker/node_modules/iobroker.ble" npm ERR! cb.apply is not a function npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-10-25T09_35_36_317Z-debug.log Rebuild ble done pi@iobroker:~$Bitte keine Screenshots von Konsolentext sondern in CodeTags eingebettet den Text hier reinkopieren.
-
Bitte keine Screenshots von Konsolentext sondern in CodeTags eingebettet den Text hier reinkopieren.
@thomas-braun sorry! Habe ich geändert
-
@thomas-braun sorry! Habe ich geändert
@t1m0
Was hast du gemacht?iobroker stop iobroker fix iobroker startiobroker wird NIE im Zusammenhang mit sudo verwendet.
-
@t1m0
Was hast du gemacht?iobroker stop iobroker fix iobroker startiobroker wird NIE im Zusammenhang mit sudo verwendet.
@thomas-braun
Habe ich nicht.... Bin genau nach der Anleitung vorgegangen. Er hat mich nach "sudo" gefragtpi@iobroker:~$ iobroker stop pi@iobroker:~$ iobroker fix library: loaded Library version=2021-08-05 ========================================================================== Welcome to the ioBroker installation fixer! Script version: 2021-04-07 You might need to enter your password a couple of times. ========================================================================== ========================================================================== Installing prerequisites (1/3) ========================================================================== [sudo] Passwort für pi: OK:1 http://deb.debian.org/debian buster InRelease OK:2 http://security.debian.org/debian-security buster/updates InRelease OK:3 http://deb.debian.org/debian buster-updates InRelease OK:4 https://deb.nodesource.com/node_12.x buster InRelease Paketlisten werden gelesen... Fertig Installed gcc-c++ ========================================================================== Checking ioBroker user and directory permissions (2/3) ========================================================================== Created /etc/sudoers.d/iobroker Fixing directory permissions... ========================================================================== Checking autostart (3/3) ========================================================================== Enabling autostart... Autostart enabled! ========================================================================== Your installation was fixed successfully Run iobroker start to start ioBroker again! ========================================================================== pi@iobroker:~$ iobroker start pi@iobroker:~$ -
@thomas-braun
Habe ich nicht.... Bin genau nach der Anleitung vorgegangen. Er hat mich nach "sudo" gefragtpi@iobroker:~$ iobroker stop pi@iobroker:~$ iobroker fix library: loaded Library version=2021-08-05 ========================================================================== Welcome to the ioBroker installation fixer! Script version: 2021-04-07 You might need to enter your password a couple of times. ========================================================================== ========================================================================== Installing prerequisites (1/3) ========================================================================== [sudo] Passwort für pi: OK:1 http://deb.debian.org/debian buster InRelease OK:2 http://security.debian.org/debian-security buster/updates InRelease OK:3 http://deb.debian.org/debian buster-updates InRelease OK:4 https://deb.nodesource.com/node_12.x buster InRelease Paketlisten werden gelesen... Fertig Installed gcc-c++ ========================================================================== Checking ioBroker user and directory permissions (2/3) ========================================================================== Created /etc/sudoers.d/iobroker Fixing directory permissions... ========================================================================== Checking autostart (3/3) ========================================================================== Enabling autostart... Autostart enabled! ========================================================================== Your installation was fixed successfully Run iobroker start to start ioBroker again! ========================================================================== pi@iobroker:~$ iobroker start pi@iobroker:~$@t1m0 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
Er hat mich nach "sudo" gefragt
Hat er?
wie genau?
-
@t1m0 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
Er hat mich nach "sudo" gefragt
Hat er?
wie genau?
-
@t1m0 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
@homoran
Siehe Zeile 20. Hier wurde ich aufgefordert...ja jetzt!
Aber hast du vorher auch schon (mal) mit sudo gearbeitet?
Dabei geht es um die Befehle die mitiobroker ...beginnen.Da darf nie sudo vorangesetzt werden.
-
@t1m0 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
@homoran
Siehe Zeile 20. Hier wurde ich aufgefordert...ja jetzt!
Aber hast du vorher auch schon (mal) mit sudo gearbeitet?
Dabei geht es um die Befehle die mitiobroker ...beginnen.Da darf nie sudo vorangesetzt werden.
-
@thomas-braun okay.... Bin schon etwas länger dran :D Habe alles probiert.
Jetzt aber nochmal wie ihr gesagt habt, komplett ohne sudo. Bekomme aber die gleiche Fehlermeldung -
@thomas-braun okay.... Bin schon etwas länger dran :D Habe alles probiert.
Jetzt aber nochmal wie ihr gesagt habt, komplett ohne sudo. Bekomme aber die gleiche Fehlermeldungwhich nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update && sudo apt update && apt policy nodejsliefert?
Und von welcher Node-Version bist du gekommen? node10? -
which nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update && sudo apt update && apt policy nodejsliefert?
Und von welcher Node-Version bist du gekommen? node10?@thomas-braun said in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
which nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update && sudo apt update && apt policy nodejs
von node 10.
root@iobroker:/opt/iobroker# iobroker start root@iobroker:/opt/iobroker# which nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update && sudo apt update && apt policy nodejs /usr/bin/node /usr/local/bin/npm root@iobroker:/opt/iobroker# -
@thomas-braun said in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
which nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update && sudo apt update && apt policy nodejs
von node 10.
root@iobroker:/opt/iobroker# iobroker start root@iobroker:/opt/iobroker# which nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update && sudo apt update && apt policy nodejs /usr/bin/node /usr/local/bin/npm root@iobroker:/opt/iobroker#Falsch installiert und wir melden uns nicht als root an.
-
Falsch installiert und wir melden uns nicht als root an.
@thomas-braun Wie habe ich das vollbracht?^^ Was mache ich nun? :/
-
@thomas-braun Wie habe ich das vollbracht?^^ Was mache ich nun? :/
-
so, nun scheint es zumindest richtig installiert.
pi@iobroker:/opt/iobroker$ which nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update && sudo apt update && apt policy no /usr/bin/nodejs /usr/bin/node /usr/local/bin/npm v12.22.7 v12.22.7 6.4.1Führe ich jedoch
iobroker rebuild zigbeeaus bekomme ich weiterhin eine Fehlermeldung und der Adapter läuft nicht
pi@iobroker:/opt/iobroker$ iobroker rebuild zigbee npm rebuild --loglevel error (System call1) in "/opt/iobroker/node_modules/iobroker.zigbee" npm ERR! cb.apply is not a function npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-10-25T11_24_36_845Z-debug.log Rebuild zigbee done pi@iobroker:/opt/iobroker$ -
so, nun scheint es zumindest richtig installiert.
pi@iobroker:/opt/iobroker$ which nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update && sudo apt update && apt policy no /usr/bin/nodejs /usr/bin/node /usr/local/bin/npm v12.22.7 v12.22.7 6.4.1Führe ich jedoch
iobroker rebuild zigbeeaus bekomme ich weiterhin eine Fehlermeldung und der Adapter läuft nicht
pi@iobroker:/opt/iobroker$ iobroker rebuild zigbee npm rebuild --loglevel error (System call1) in "/opt/iobroker/node_modules/iobroker.zigbee" npm ERR! cb.apply is not a function npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-10-25T11_24_36_845Z-debug.log Rebuild zigbee done pi@iobroker:/opt/iobroker$@t1m0 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
so, nun scheint es zumindest richtig installiert.
Nein.
npm ist im falschen Pfad. -
@t1m0 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
so, nun scheint es zumindest richtig installiert.
Nein.
npm ist im falschen Pfad.@thomas-braun
Danke für die Geduld und deiner tollen Anleitung! Alles grün und funktioniert! Vielen Dank! -
Hey kann mir jemand weiterhelfen? bekomme beim Befehl
sudo apt-get install -y nodejsimmer folgende Fehlermeldung:
dicken@iobroker-produktiv:~$ sudo apt-get install -y nodejs Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: gyp javascript-common libauthen-sasl-perl libc-ares2 libclone-perl libdata-dump-perl libencode-locale-perl libfile-basedir-perl libfile-desktopentry-perl libfile-listing-perl libfile-mimeinfo-perl libfont-afm-perl libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libio-html-perl libio-socket-ssl-perl libio-stringy-perl libipc-system-simple-perl libjs-inherits libjs-is-typedarray libjs-psl libjs-typedarray-to-buffer liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl libnet-dbus-perl libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libssl-dev libtie-ixhash-perl libtimedate-perl libtry-tiny-perl liburi-perl libuv1-dev libwww-perl libwww-robotrules-perl libx11-protocol-perl libxml-parser-perl libxml-twig-perl libxml-xpathengine-perl node-abbrev node-ajv node-ansi node-ansi-align node-ansi-regex node-ansi-styles node-ansistyles node-aproba node-archy node-are-we-there-yet node-asap node-asn1 node-assert-plus node-asynckit node-aws-sign2 node-aws4 node-balanced-match node-bcrypt-pbkdf node-bl node-bluebird node-boxen node-brace-expansion node-builtin-modules node-builtins node-cacache node-call-limit node-camelcase node-caseless node-chalk node-chownr node-ci-info node-cli-boxes node-cliui node-clone node-co node-color-convert node-color-name node-colors node-columnify node-combined-stream node-concat-map node-concat-stream node-config-chain node-configstore node-console-control-strings node-copy-concurrently node-core-util-is node-cross-spawn node-crypto-random-string node-cyclist node-dashdash node-debbundle-es-to-primitive node-debug node-decamelize node-decompress-response node-deep-extend node-defaults node-define-properties node-delayed-stream node-delegates node-detect-indent node-detect-newline node-dot-prop node-duplexer3 node-duplexify node-ecc-jsbn node-editor node-encoding node-end-of-stream node-err-code node-errno node-es6-promise node-escape-string-regexp node-execa node-extend node-extsprintf node-fast-deep-equal node-find-up node-flush-write-stream node-forever-agent node-form-data node-from2 node-fs-vacuum node-fs-write-stream-atomic node-fs.realpath node-function-bind node-gauge node-genfun node-get-caller-file node-get-stream node-getpass node-glob node-got node-graceful-fs node-har-schema node-har-validator node-has-flag node-has-symbol-support-x node-has-to-string-tag-x node-has-unicode node-hosted-git-info node-http-signature node-iconv-lite node-iferr node-import-lazy node-imurmurhash node-inflight node-inherits node-ini node-invert-kv node-ip node-ip-regex node-is-npm node-is-obj node-is-object node-is-path-inside node-is-plain-obj node-is-retry-allowed node-is-stream node-is-typedarray node-isarray node-isexe node-isstream node-isurl node-jsbn node-json-parse-better-errors node-json-schema node-json-schema-traverse node-json-stable-stringify node-json-stringify-safe node-jsonify node-jsonparse node-jsonstream node-jsprim node-latest-version node-lazy-property node-lcid node-libnpx node-locate-path node-lockfile node-lodash node-lodash-packages node-lowercase-keys node-lru-cache node-make-dir node-mem node-mime node-mime-types node-mimic-fn node-mimic-response node-minimatch node-minimist node-mississippi node-mkdirp node-move-concurrently node-ms node-mute-stream node-nopt node-normalize-package-data node-npm-bundled node-npm-package-arg node-npm-run-path node-npmlog node-number-is-nan node-oauth-sign node-object-assign node-once node-opener node-os-locale node-os-tmpdir node-osenv node-p-cancelable node-p-finally node-p-is-promise node-p-limit node-p-locate node-p-timeout node-package-json node-parallel-transform node-path-exists node-path-is-absolute node-path-is-inside node-performance-now node-pify node-prepend-http node-process-nextick-args node-promise-inflight node-promise-retry node-promzard node-proto-list node-prr node-pseudomap node-psl node-pump node-pumpify node-punycode node-qs node-qw node-rc node-read node-read-package-json node-readable-stream node-registry-auth-token node-registry-url node-request node-require-directory node-require-main-filename node-resolve node-resolve-from node-retry node-rimraf node-run-queue node-safe-buffer node-semver node-semver-diff node-set-blocking node-sha node-shebang-command node-shebang-regex node-signal-exit node-slash node-slide node-sorted-object node-spdx-correct node-spdx-exceptions node-spdx-expression-parse node-spdx-license-ids node-sshpk node-ssri node-stream-each node-stream-iterate node-stream-shift node-strict-uri-encode node-string-decoder node-string-width node-strip-ansi node-strip-eof node-strip-json-comments node-supports-color node-tar node-term-size node-text-table node-through node-through2 node-timed-out node-tough-cookie node-tunnel-agent node-tweetnacl node-typedarray node-typedarray-to-buffer node-uid-number node-unique-filename node-unique-string node-unpipe node-uri-js node-url-parse-lax node-url-to-options node-util-deprecate node-uuid node-validate-npm-package-license node-validate-npm-package-name node-verror node-wcwidth.js node-which node-which-module node-wide-align node-widest-line node-wrap-ansi node-wrappy node-write-file-atomic node-xdg-basedir node-xtend node-y18n node-yallist node-yargs node-yargs-parser nodejs-doc perl-openssl-defaults xdg-utils Use 'sudo apt autoremove' to remove them. The following packages will be upgraded: nodejs 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/18.0 MB of archives. After this operation, 93.5 MB of additional disk space will be used. (Reading database ... 39050 files and directories currently installed.) Preparing to unpack .../nodejs_12.22.7-deb-1nodesource1_amd64.deb ... Unpacking nodejs (12.22.7-deb-1nodesource1) over (12.18.2~dfsg-1ubuntu2) ... dpkg: error processing archive /var/cache/apt/archives/nodejs_12.22.7-deb-1nodesource1_amd64.deb (--unpack): trying to overwrite '/usr/share/doc/nodejs/api/tty.json.gz', which is also in package nodejs-doc 12.18.2~dfsg-1ubuntu2 dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/nodejs_12.22.7-deb-1nodesource1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)Infos die vllt benötigt werden:
dicken@iobroker-produktiv:~$ node -v v12.20.0 dicken@iobroker-produktiv:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.10 Release: 20.10 Codename: groovy dicken@iobroker-produktiv:~$ npm -v 6.14.8