NEWS
[How-to] Node.js für ioBroker richtig updaten
-
@MathiasJ
ich glaube das ganze ist zwischen euch beiden ein kleines Mißverständnis.Du hast wahrscheinlich auf das letzte Post geantwortet und das war zu dem Zeitpunkt das von @skokarl, und damit hast Du @skokarl in der Tat in dem Post direkt angesprochen .... wahrscheinlich irrtümlich/unbemerkt, und daraufhin kam die Reaktion von @skokarl die dir nun womöglich "sauer aufgestoßen" ist .... so reime ich mir das zumindest zusammen
-
-
Moin,
ich wollte heute meinen Slave und Master von 10.17 auf 12.16.3 updaten.
Beim Slave (raspberry pi) hat es problemlos nach der Anleitung geklappt.
Beim Master (Nuc - Debian als root) kommen am Ende vom "rebuild" Fehlermeldungen.Ja, ich weiß es ist nicht gut als root zu arbeiten,
doch leider kenne ich mich nicht gut genug in der Linux-Welt aus und habe damals alles als root instaliert.Hier die Befehle die ich eingegeben habe:
apt-get update apt-get upgrade reboot cd /opt/iobroker iobroker backup iobroker stop curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - apt-get install -y nodejs sudo npm install -g npm curl -sL https://iobroker.net/fix.sh | bash - npm rebuild
und hier die Fehlermeldung:
Mein ioBroker startet ganz normal und im Log erscheinen keine Fehler.
Alles läuft...
Muss ich mir jetzt sorgen machen, oder kann ich die Fehlermeldung einfach ignorieren? -
@stenmic Könnte am permanenten root-Login liegen.
pam hat mit der Authentifizierung am System zu tun. Vielleicht hast du da was krumm gemacht mit dem root.
User mit sudo anlegen:
https://linuxize.com/post/how-to-create-a-sudo-user-on-debian/Und dann ein
iobroker fix
mit dem einfachen User versuchen.
-
Da auf der Info Seite "Node.js - v10.20.1 (Empfohlene Version v12.16.3)" angezeigt wird, habe ich das Update von Node.js gemacht.
Danach gleichnpm rebuild
Trotzdem war aber der SQL-Adapter (1.9.5 aus default die letzte V) nicht mehr lauffähig, habe alles mögliche versucht, aber vergeblich.
Ist denn Node.js 12.x doch noch nicht für alle Adapter (ausser hier genannte https://forum.iobroker.net/topic/30561/status-iobroker-und-node-js-12-x) zu empfehlen, oder warum läuft sql 1.9.5 dann nicht mehr?
Habe vorerst downgrade auf Node.js 10.20.1 gemacht, damit läuft SQL auch wieder.
Hier das Log mit nstalliertem Node.js12.x
2020-05-03 16: 17: 06.916 - Fehler : host.smartserver Vom Controller [0] gefangen: internal / modules / cjs / loader.js: 960 2020-05-03 16: 17: 06.916 - Fehler : host.smartserver Vom Controller gefangen [0]: throw err; 2020-05-03 16: 17: 06.916 - Fehler : host.smartserver Vom Controller gefangen [0]: ^ 2020-05-03 16: 17: 06.917 - Fehler : host.smartserver Vom Controller gefangen [0]: Fehler: Modul '../build/Release/magic' kann nicht gefunden werden ' 2020-05-03 16: 17: 06.917 - Fehler : host.smartserver Vom Controller gefangen [0]: Stapel erforderlich: 2020-05-03 16: 17: 06.917 - Fehler : host.smartserver Gefangen von Controller [0]: - /opt/iobroker/node_modules/mmmagic/lib/index.js 2020-05-03 16: 17: 06.917 - Fehler : host.smartserver Vom Controller [0] gefangen: - /opt/iobroker/node_modules/inote-util/lib/file-util.js 2020-05-03 16: 17: 06.917 - Fehler : host.smartserver Vom Controller [0] gefangen: - /opt/iobroker/node_modules/inote-util/lib/index.js 2020-05-03 16: 17: 06.917 - Fehler : host.smartserver Vom Controller [0] gefangen: - /opt/iobroker/node_modules/sql-client/lib/sql-runner.js 2020-05-03 16: 17: 06.918 - Fehler : host.smartserver Vom Controller [0] gefangen: - /opt/iobroker/node_modules/sql-client/lib/index.js 2020-05-03 16: 17: 06.918 - Fehler : host.smartserver Vom Controller [0] gefangen: - /opt/iobroker/node_modules/iobroker.sql/main.js 2020-05-03 16: 17: 06.918 - Fehler : host.smartserver Vom Controller [0] gefangen: at Function.Module._resolveFilename (intern / modules / cjs / loader.js: 957: 15) 2020-05-03 16: 17: 06.918 - Fehler : host.smartserver Vom Controller [0] gefangen: bei Function.Module._load (intern / modules / cjs / loader.js: 840: 27) 2020-05-03 16: 17: 06.918 - Fehler : host.smartserver Vom Controller [0] gefangen: bei Module.require (intern / modules / cjs / loader.js: 1019: 19) 2020-05-03 16: 17: 06.918 - Fehler : host.smartserver Gefangen von Controller [0]: at require (intern / modules / cjs / helpers.js: 77: 18) 2020-05-03 16: 17: 06.919 - Fehler : host.smartserver Vom Controller gefangen [0]: at Object. (/opt/iobroker/node_modules/mmmagic/lib/index.js:1:13) 2020-05-03 16: 17: 06.919 - Fehler : host.smartserver Vom Controller [0] gefangen: bei Module._compile (intern / modules / cjs / loader.js: 1133: 30) 2020-05-03 16: 17: 06.919 - Fehler : host.smartserver Gefangen von Controller [0]: at Object.Module._extensions..js (intern / modules / cjs / loader.js: 1153: 10) 2020-05-03 16: 17: 06.919 - Fehler : host.smartserver Vom Controller [0] gefangen: bei Module.load (intern / modules / cjs / loader.js: 977: 32) 2020-05-03 16: 17: 06.919 - Fehler : host.smartserver Vom Controller [0] gefangen: bei Function.Module._load (intern / modules / cjs / loader.js: 877: 14) 2020-05-03 16: 17: 06.920 - Fehler : host.smartserver Vom Controller [0] gefangen: bei Module.require (intern / modules / cjs / loader.js: 1019: 19) { 2020-05-03 16: 17: 06.920 - Fehler : host.smartserver Vom Controller [0] gefangen: Code: 'MODULE_NOT_FOUND', 2020-05-03 16: 17: 06.920 - Fehler : host.smartserver Vom Controller gefangen [0]: requireStack: [ 2020-05-03 16: 17: 06.920 - Fehler : host.smartserver Vom Controller [0] gefangen: '/opt/iobroker/node_modules/mmmagic/lib/index.js', 2020-05-03 16: 17: 06.920 - Fehler : host.smartserver Vom Controller [0] gefangen: '/opt/iobroker/node_modules/inote-util/lib/file-util.js', 2020-05-03 16: 17: 06.920 - Fehler : host.smartserver Vom Controller gefangen [0]: '/opt/iobroker/node_modules/inote-util/lib/index.js', 2020-05-03 16: 17: 06.921 - Fehler : host.smartserver Gefangen von Controller [0]: '/opt/iobroker/node_modules/sql-client/lib/sql-runner.js', 2020-05-03 16: 17: 06.921 - Fehler : host.smartserver Vom Controller [0] gefangen: '/opt/iobroker/node_modules/sql-client/lib/index.js', 2020-05-03 16: 17: 06.921 - Fehler : host.smartserver Vom Controller [0] gefangen: '/opt/iobroker/node_modules/iobroker.sql/main.js' 2020-05-03 16: 17: 06.921 - Fehler : host.smartserver Vom Controller gefangen [0]:] 2020-05-03 16: 17: 06.921 - Fehler : host.smartserver Vom Controller gefangen [0]:} 2020-05-03 16: 17: 06.921 - Fehler : Host.smartserver-Instanz system.adapter.sql.0 wurde mit Code 1 beendet (JS_CONTROLLER_STOPPED)
-
@stenmic neeee alles gut irgendein Adapter hat einn optionales natives Modul was nicht baut. Da fehlen glaube nur paar Linux Pakete. @Thomas-Braun nicht überinterpretieren. Ist eine node Paket Meldung und nix vom Linux.
-
@umbm was hat denn sql ins log geschrieben.? An sich sollte es mit dem rebuild tun.
-
@apollon77 Schon. Aber root-login vermeiden da wo es geht ist allgemein auch keine doofe Idee.
-
@Thomas-Braun das ist klar. Am Ende Supporten wir solche Systeme auch nur bedingt. Deswegen haben wir installer und fixer.
-
@apollon77 Deswegen habe ich z. B. hier:
https://forum.iobroker.net/topic/32920/scripte-laufen-nicht-mehr-seit-update-auf-js-controler-3-0x/54
ein Debian auf sudo umgebaut. Gut, vermutlich liegt es da an node12 (bzw. V8), aber so ist das Grundgerüst schon mal sauberer. -
@Thomas-Braun hab’s jetzt nicht im Detail gelesen. an sich baut der installation fixer EinE bestehende „root Installation“ auf eine „saubere“ um ...
-
@apollon77 Ich muss mir das fixer skript wohl mal genauer anschauen...
-
@apollon77
sql hat keine Logeinträge erzeugt, denn er konnte gar nicht erst starten.
Direkt vor dem Log-Auszug von oben steht nur nochinfo: host.smartserver instance system.adapter.sql.0 started with pid 23870
Danach kommen sofort die Fehler und das wiederholt sich endlos.
-
@Thomas-Braun das Foyer Skript macht das gleiche wie der installer abzüglich der iobroker installation an sich. Und man kann es immer wieder nutzen um sich danach auf dem aktuellen Stand zu bleiben was den „Systemzeit“ angeht.
-
@apollon77 Was meinst du mit 'Systemzeit'?
-
@Thomas-Braun typo sollte systemzustand heissen
-
.....und wieder etwas dazu gelernt:
Ich hatte NodeJS 12.16.2 auf dem Slave und dem Master.
ich habe beide Systeme mitsudo apt-get update && sudo apt-get upgrade
upgedatet, damit ich die Version 12.16.3 bekomme.
Die Instanz ble auf dem Slave blieb gelb
Die Instanz radar2 auf dem Master blieb rot.Neustart hat nichts gebracht, Shutdown hat nichts gebracht.
Aber wahrscheinlich muß man die Abhängigkeiten wieder herstellen mit:sudo apt-get install libcap2-bin arp-scan bluetooth bluez libbluetooth-dev libudev-dev sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)
Nun laufen beide Instanzen wieder.
Gruß,
Mathias -
@MathiasJ
BLE muss nach einem Node Update immer mit dem Fixer gerichtet werden, da Rechte verloren gehen, ob das bei Radar auch der Fall ist weiß ich nicht. -
ok.......
naja egal. mit allem, was ih gemacht habe funzt es nun auch wieder.
komisch: beim Update von node 10.x auf Node 12.16.2 sprangen beide Instanzen sofort an. -
@MathiasJ
Das würde mich beim BLE fast wundern, da der bei mir noch nie ein Node Update überlebt hat. Das steht aber auch irgendwo, dass man nach dem Node Update den Fixer laufen lassen sollte, was dann eben auch gleich das BLE Problem behebt. Im Grunde ist es auch keine schlechte Idee den Fixer laufen zu lassen, wenn etwas rum zickt. Es schadet nicht und wenn das schon reicht um das Problem zu lösen wars das schon, ansonten gehts eben hier weiter