NEWS
[How-to] Node.js für ioBroker richtig updaten
-
@Thomas-Braun sagte in [How-to] Node.js für ioBroker richtig updaten:
ps aux | grep io
hilft dir das was?
-
@stephan2k
Bitte keine Screenshots, Konsolentexte auch als Text (in CodeTags) posten. -
@Thomas-Braun
natürlichroot@iobroker:/opt/iobroker# root@iobroker:/opt/iobroker# root@iobroker:/opt/iobroker# ps aux | grep io root 1 0.0 0.0 4292 768 pts/0 Ss 18:40 0:00 sh /opt/scripts /iobroker_startup.sh avahi 40 0.0 0.0 47144 2912 ? S 18:40 0:00 avahi-daemon: r egistering [iobroker-33.local] root 60 23.0 1.7 858300 174416 pts/0 Sl 18:40 1:27 iobroker.js-con troller root 78 2.5 0.9 807972 93212 pts/0 Sl 18:40 0:09 io.admin.0 root 93 0.5 0.5 626700 53700 pts/0 Sl 18:41 0:01 io.web.0 root 123 1.1 0.4 621292 47996 pts/0 Sl 18:41 0:04 io.history.0 root 216 0.4 0.5 633560 54664 pts/0 Sl 18:41 0:01 io.sonoff.0 root 232 0.6 0.5 781860 54532 pts/0 Sl 18:41 0:02 io.tankerkoenig .0 root 243 1.4 0.5 786468 59444 pts/0 Sl 18:41 0:04 io.telegram.0 root 258 0.3 0.4 623060 48760 pts/0 Sl 18:41 0:01 io.socketio.0 root 273 0.4 0.5 641172 50816 pts/0 Sl 18:41 0:01 io.mihome-vacuu m.0 root 293 0.4 0.4 638540 48988 pts/0 Sl 18:41 0:01 io.scenes.0 root 308 0.3 0.4 620596 45960 pts/0 Sl 18:41 0:01 io.text2command .0 root 323 1.9 0.6 920968 62944 pts/0 Sl 18:42 0:06 io.alexa2.0 root 339 0.4 0.5 642520 52452 pts/0 Sl 18:42 0:01 io.terminal.0 root 354 0.5 0.4 622056 49388 pts/0 Sl 18:42 0:01 io.yeelight-2.0 root 370 0.5 0.5 641940 51488 pts/0 Sl 18:42 0:01 io.harmony.0 root 385 1.1 0.6 729596 68944 pts/0 Sl 18:42 0:03 io.iot.0 root 400 0.4 0.4 620552 45812 pts/0 Sl 18:42 0:01 io.mihome.0 root 415 1.0 0.8 668528 80532 pts/0 Sl 18:42 0:02 io.backitup.0 root 426 2.2 0.5 704000 58936 pts/0 Sl 18:42 0:06 io.info.0 root 449 0.9 0.6 858420 64512 pts/0 Sl 18:42 0:02 io.nuki2.0 root 747 3.3 0.6 654744 66296 pts/0 Sl 18:42 0:09 io.shelly.0 root 773 0.5 0.5 641760 51968 pts/0 Sl 18:42 0:01 io.mihome-vacuu m.1 root 844 0.5 0.4 621580 48040 pts/0 Sl 18:42 0:01 io.sonos.0 root 866 0.8 0.5 643076 54156 pts/0 Sl 18:42 0:02 io.deconz.0 root 936 2.0 0.5 630032 56112 pts/0 Sl 18:42 0:05 io.hue.0 root 963 1.8 0.6 784284 63124 pts/0 Sl 18:43 0:04 io.yahka.0 root 1033 1.7 0.4 622848 49736 pts/0 Sl 18:43 0:04 io.sourceanalyt ix.0 root 1054 0.8 0.5 646108 57384 pts/0 Sl 18:43 0:02 io.tuya.0 root 1131 4.3 0.5 646480 59616 pts/0 Sl 18:43 0:10 io.influxdb.1 root 1153 0.4 0.4 620576 46884 pts/0 Sl 18:43 0:01 io.hm-rpc.0 root 1227 1.1 0.5 642152 54700 pts/0 Sl 18:43 0:02 io.hm-rega.0 root 1254 1.1 0.5 639544 50544 pts/0 Sl 18:43 0:02 io.hm-rpc.1 root 3418 0.0 0.0 12788 980 pts/0 S+ 18:47 0:00 grep io root@iobroker:/opt/iobroker# iobroker upgrade self
-
kill 60
-
@stephan2k Das kann keine Prozessliste eines gestoppten iobroker sein.
Sowohl der JS-Controller läuft, als auch Adapterinstanzen. Wie sieht die Ausgabe aus nachdem du "iobroker stop" gemacht hast?Zu dem alles mit root wird sich Thomas sicher noch äußern
-
@Diginix sagte in [How-to] Node.js für ioBroker richtig updaten:
Zu dem alles mit root wird sich Thomas sicher noch äußern
docker / synology halt. Zu meinem Leidwesen muss das da ja wohl so laufen.
-
@Thomas-Braun
Danke Thomas-Braun! nun ging es.Danke!
-
@stephan2k
Kann es sein, dass der ioBroker da doppelt installiert ist? -
@Thomas-Braun
nein eigentlich nicht (nicht das ich wüsste) -
@stephan2k Der Thread hier geht eigentlich um nodejs update ... js.controller Update ist formal hier fehlt am Platze ...
-
für alle Interessierten. Habe gerade auf meiner Testinstanz ein NodeJS Update von 10.17.0 auf 12.20.0 gemacht und mir dafür einn Shell Skript geschrieben
-
@Kuddel
Ja, und wo ist die Vereinfachung?
Änder einfach ein Zeichen in der /etc/apt/sources.list.d/nodesource.list und du bist da. Oder schreib direkt die passende neue Zeile per tee da rein. -
@Thomas-Braun oh so einfach
okay, dann ist mein Skript überflüssig ^^
-
Hier hab ich mal erklärt, wie das imho am besten und schnellsten und saubersten zu handeln ist:
https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian
Das könnte man natürlich auch in ein skript packen. Aber so wenige und unregelmäßig vorkommende Dinge muss man meiner Meinung nach nicht skripten.
Einmal das passende Repo anlegen und dann hat man da ja bis zum nächsten Release-Wechsel Ruhe. Und ob ich mich beim Wechsel auf eine weitere node-Version dann an ein herumliegendes shell-skript erinner wage ich auch mal zu bezweifeln.
-
-
@Diginix
Das ist ggf. bei Wechseln der node-Version erforderlich, dann muss das modul gegen die neue Version gebaut werden. In den meisten Fällen macht der js-controller das aber selbstständig, wenn der Bedarf erkannt wurde.Mit direktem hantieren mit npm im Verzeichnis /opt/iobroker wäre ich aber vorsichtig, besser mit dem wrapper iobroker da ran gehen:
iobroker rebuild <adapter>|self [--install]
-
Hallo , habe auf meinen Master und Slave das Update auf Node 12.20.2 gemacht. Master läuft alles , aber auf dem Slave kommt der Smartmeter Adapter nicht hoch. Siehe Meldung aus dem Log:
host.iobroker-slave 2021-02-20 10:53:52.948 info Rebuild for adapter system.adapter.smartmeter.0 not successful in 3 tries. Adapter will not be restarted again. Please execute "npm install --production" in adapter directory manually. host.iobroker-slave 2021-02-20 10:53:52.948 error instance system.adapter.smartmeter.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.iobroker-slave 2021-02-20 10:53:52.946 error Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32) host.iobroker-slave 2021-02-20 10:53:52.946 error Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) host.iobroker-slave 2021-02-20 10:53:52.945 error Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:999:30) host.iobroker-slave 2021-02-20 10:53:52.944 error Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/@serialport/bindings/lib/linux.js:2:36) host.iobroker-slave 2021-02-20 10:53:52.943 error Caught by controller[0]: at bindings (/opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:112:48) host.iobroker-slave 2021-02-20 10:53:52.942 error Caught by controller[0]: at require (internal/modules/cjs/helpers.js:74:18) host.iobroker-slave 2021-02-20 10:53:52.941 error Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:887:19) host.iobroker-slave 2021-02-20 10:53:52.940 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:708:14) host.iobroker-slave 2021-02-20 10:53:52.939 error Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32) host.iobroker-slave 2021-02-20 10:53:52.939 error Caught by controller[0]: at Object.Module._extensions..node (internal/modules/cjs/loader.js:1057:18) host.iobroker-slave 2021-02-20 10:53:52.938 error Caught by controller[0]: the module (for instance, using `npm rebuild` or `npm install`). host.iobroker-slave 2021-02-20 10:53:52.937 error Caught by controller[0]: NODE_MODULE_VERSION 72. Please try re-compiling or re-installing host.iobroker-slave 2021-02-20 10:53:52.936 error Caught by controller[0]: NODE_MODULE_VERSION 64. This version of Node.js requires host.iobroker-slave 2021-02-20 10:53:52.935 error Caught by controller[0]: was compiled against a different Node.js version using host.iobroker-slave 2021-02-20 10:53:52.934 error Caught by controller[0]: Error: The module '/opt/iobroker/node_modules/@serialport/bindings/build/Release/bindings.node' host.iobroker-slave 2021-02-20 10:53:52.933 error Caught by controller[0]: ^ host.iobroker-slave 2021-02-20 10:53:52.932 error Caught by controller[0]: throw e; host.iobroker-slave 2021-02-20 10:53:52.930 error Caught by controller[0]: /opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:121 host.iobroker-slave 2021-02-20 10:53:49.275 info instance system.adapter.smartmeter.0 started with pid 628
Was kann ich tun ? -
@mymeyer Bitte LogFiles in CodeTags setzen
-
Please execute "npm install --production" in adapter directory manually.
-
@thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:
Please execute "npm install --production" in adapter directory manually.
Direkt auf dem Slave im Adapter Verzeichnis oder reicht /opt/iobroker ?
Oder gesagt das habe ich bereist auf dem Slave gemacht.
pi@iobroker-slave:~ $ cd /opt/iobroker/ pi@iobroker-slave:/opt/iobroker $ npm install --production npm ERR! code ENOTDIR npm ERR! syscall open npm ERR! path /opt/iobroker/node_modules/iobroker.js-controller/node_modules/ms/npm-shrinkwrap.json npm ERR! errno -20 npm ERR! ENOTDIR: not a directory, open '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ms/npm-shrinkwrap.json' npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-02-20T09_53_20_943Z-debug.log