NEWS
[How-to] Node.js ioBroker richtig updaten-2021/22 Edition
-
Wie stellt sich ein (Neu)-Start des Adapters im log file dar?
-
host.iobroker-slave 2022-07-21 15:24:20.079 info Rebuild for adapter system.adapter.mbus.0 not successful in 3 tries. Adapter will not be restarted again. Please execute "npm install --production" in adapter directory manually. host.iobroker-slave 2022-07-21 15:24:20.079 error instance system.adapter.mbus.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.iobroker-slave 2022-07-21 15:24:20.079 error Caught by controller[0]: } host.iobroker-slave 2022-07-21 15:24:20.079 error Caught by controller[0]: code: 'ERR_DLOPEN_FAILED' host.iobroker-slave 2022-07-21 15:24:20.078 error Caught by controller[0]: at Module.load (node:internal/modules/cjs/loader:981:32) { host.iobroker-slave 2022-07-21 15:24:20.078 error Caught by controller[0]: at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) host.iobroker-slave 2022-07-21 15:24:20.078 error Caught by controller[0]: at Module._compile (node:internal/modules/cjs/loader:1105:14) host.iobroker-slave 2022-07-21 15:24:20.078 error Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/node-mbus/index.js:7:40) host.iobroker-slave 2022-07-21 15:24:20.075 error Caught by controller[0]: at bindings (/opt/iobroker/node_modules/node-mbus/node_modules/bindings/bindings.js:112:48) host.iobroker-slave 2022-07-21 15:24:20.075 error Caught by controller[0]: at require (node:internal/modules/cjs/helpers:102:18) host.iobroker-slave 2022-07-21 15:24:20.075 error Caught by controller[0]: at Module.require (node:internal/modules/cjs/loader:1005:19) host.iobroker-slave 2022-07-21 15:24:20.074 error Caught by controller[0]: at Function.Module._load (node:internal/modules/cjs/loader:822:12) host.iobroker-slave 2022-07-21 15:24:20.074 error Caught by controller[0]: at Module.load (node:internal/modules/cjs/loader:981:32) host.iobroker-slave 2022-07-21 15:24:20.074 error Caught by controller[0]: at Object.Module._extensions..node (node:internal/modules/cjs/loader:1189:18) host.iobroker-slave 2022-07-21 15:24:20.074 error Caught by controller[0]: the module (for instance, using `npm rebuild` or `npm install`). host.iobroker-slave 2022-07-21 15:24:20.074 error Caught by controller[0]: NODE_MODULE_VERSION 93. Please try re-compiling or re-installing host.iobroker-slave 2022-07-21 15:24:20.074 error Caught by controller[0]: NODE_MODULE_VERSION 83. This version of Node.js requires host.iobroker-slave 2022-07-21 15:24:20.074 error Caught by controller[0]: was compiled against a different Node.js version using host.iobroker-slave 2022-07-21 15:24:20.074 error Caught by controller[0]: Error: The module '/opt/iobroker/node_modules/node-mbus/build/Release/mbus.node' host.iobroker-slave 2022-07-21 15:24:20.073 error Caught by controller[0]: ^ host.iobroker-slave 2022-07-21 15:24:20.073 error Caught by controller[0]: throw e; host.iobroker-slave 2022-07-21 15:24:20.073 error Caught by controller[0]: /opt/iobroker/node_modules/node-mbus/node_modules/bindings/bindings.js:121
Dies ist mein output im log
-
@marlan99 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
was compiled against a different Node.js version using
wie hast du denn den das update durchgeführt?
-
@homoran äähm, ich hatte vorher node.js 14 am laufen und das update gemäss erstem post hier auf node-js 16 gemacht ?
Oder ich verstehe deine Frage nicht ?
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install -y nodejs
nun sieht es so aus:
pi@iobroker-slave:~ $ node -v v16.16.0 pi@iobroker-slave:~ $ npm -v 8.11.0
-
Zeig mal den output zu
sudo ln -s /usr/bin/node /usr/bin/nodejs uname -m && type -P nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
-
@thomas-braun said in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
uname -m && type -P nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
pi@iobroker-slave:~ $ sudo ln -s /usr/bin/node /usr/bin/nodejs ln: failed to create symbolic link '/usr/bin/nodejs': File exists pi@iobroker-slave:~ $ uname -m && type -P 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.16.0 v16.16.0 8.11.0 pi /home/pi Hit:1 http://archive.raspberrypi.org/debian buster InRelease Hit:2 http://raspbian.raspberrypi.org/raspbian buster InRelease Hit:3 https://repos.influxdata.com/debian buster InRelease Hit:4 https://deb.nodesource.com/node_16.x buster InRelease Reading package lists... Done Building dependency tree Reading state information... Done 1 package can be upgraded. Run 'apt list --upgradable' to see it. nodejs: Installed: 16.16.0-deb-1nodesource1 Candidate: 16.16.0-deb-1nodesource1 Version table: *** 16.16.0-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
-
@marlan99 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
/opt/iobroker/node_modules/node-mbus/
Naja in dem Fall meckert er über das native node_mbus und nicht über serialport ...
also (blöd das der rebuild net tut)
cd /opt/iobroker/node_modules/node-mbus/
npm rebuildoder wenn das nicht tat "npm install"
PS: Bzw kannst gern mal das volle ipbroker log aller drei rebuild versuche posten. Welcher jscontroller ist eim EInsatz?
-
@apollon77 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
oder wenn das nicht tat "npm install"
Hat er ja schon gemacht. War die Ausführung korrekt?
@marlan99 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
habe ich auch wie Eingangs erwähnt versucht das Problem manuell zu lösen und im Verzeichnis
/opt/iobroker/node_modules/node-mbus/node_modules
den Befehl:
npm install --production
ausgeführt -
@homoran Da ist ein node_modules am Ende zuviel ...
-
@apollon77 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
@homoran Da ist ein node_modules am Ende zu viel ...
-
hierbei bekomme ich folgenden Output:
js-controller version : 4.0.23
npm rebuild
pi@iobroker-slave:/opt/iobroker/node_modules/node-mbus $ npm rebuild npm ERR! code 1 npm ERR! path /opt/iobroker/node_modules/node-mbus npm ERR! command failed npm ERR! command sh -c node-gyp rebuild npm ERR! node:internal/modules/cjs/loader:936 npm ERR! throw err; npm ERR! ^ npm ERR! npm ERR! Error: Cannot find module 'object-assign' npm ERR! Require stack: npm ERR! - /usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/render-template.js npm ERR! - /usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/plumbing.js npm ERR! - /usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/index.js npm ERR! - /usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/npmlog/log.js npm ERR! - /usr/lib/node_modules/npm/node_modules/node-gyp/lib/node-gyp.js npm ERR! - /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js npm ERR! at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) npm ERR! at Function.Module._load (node:internal/modules/cjs/loader:778:27) npm ERR! at Module.require (node:internal/modules/cjs/loader:1005:19) npm ERR! at require (node:internal/modules/cjs/helpers:102:18) npm ERR! at Object.<anonymous> (/usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/render-template.js:4:20) npm ERR! at Module._compile (node:internal/modules/cjs/loader:1105:14) npm ERR! at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) npm ERR! at Module.load (node:internal/modules/cjs/loader:981:32) npm ERR! at Function.Module._load (node:internal/modules/cjs/loader:822:12) npm ERR! at Module.require (node:internal/modules/cjs/loader:1005:19) { npm ERR! code: 'MODULE_NOT_FOUND', npm ERR! requireStack: [ npm ERR! '/usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/render-template.js', npm ERR! '/usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/plumbing.js', npm ERR! '/usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/index.js', npm ERR! '/usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/npmlog/log.js', npm ERR! '/usr/lib/node_modules/npm/node_modules/node-gyp/lib/node-gyp.js', npm ERR! '/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js' npm ERR! ] npm ERR! } npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-07-21T13_44_59_646Z-debug-0.log
bei "npm install" dann diesen output:
pi@iobroker-slave:/opt/iobroker/node_modules/node-mbus $ npm install > node-mbus@2.0.0 install > node-gyp rebuild node:internal/modules/cjs/loader:936 throw err; ^ Error: Cannot find module 'object-assign' Require stack: - /usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/render-template.js - /usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/plumbing.js - /usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/index.js - /usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/npmlog/log.js - /usr/lib/node_modules/npm/node_modules/node-gyp/lib/node-gyp.js - /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (/usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/render-template.js:4:20) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) { code: 'MODULE_NOT_FOUND', requireStack: [ '/usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/render-template.js', '/usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/plumbing.js', '/usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/gauge/index.js', '/usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/npmlog/log.js', '/usr/lib/node_modules/npm/node_modules/node-gyp/lib/node-gyp.js', '/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js' ] } npm ERR! code 1 npm ERR! path /opt/iobroker/node_modules/node-mbus npm ERR! command failed npm ERR! command sh -c node-gyp rebuild npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-07-21T13_45_14_702Z-debug-0.log
-
@marlan99 ok, dann 'back to node js installarions prüfung mit Thomas Braun " ... da ist was broken in deiner installation von nodejs/npm
-
-
@thomas-braun wenn ich richtig verstehe soll ich die beiden Befehle ausführen? Manuell habe ich nie was verändert. Das gesamte System wurde mit node.js 12 aufgesetzt, einmal vor Monaten auf node.js 14 updated (null Probleme) und heute auf node.js 16.
Habe soeben node.js nochmal komplett neu installiert und habe dieselben Fehlermeldung wie oben.Hier der output mit npm -g i npm
pi@iobroker-slave:/opt/iobroker/node_modules/node-mbus $ npm -g i npm npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead. npm ERR! code EACCES npm ERR! syscall rename npm ERR! path /usr/lib/node_modules/npm npm ERR! dest /usr/lib/node_modules/.npm-qUIFSsiV npm ERR! errno -13 npm ERR! Error: EACCES: permission denied, rename '/usr/lib/node_modules/npm' -> '/usr/lib/node_modules/.npm-qUIFSsiV' npm ERR! [Error: EACCES: permission denied, rename '/usr/lib/node_modules/npm' -> '/usr/lib/node_modules/.npm-qUIFSsiV'] { npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'rename', npm ERR! path: '/usr/lib/node_modules/npm', npm ERR! dest: '/usr/lib/node_modules/.npm-qUIFSsiV' npm ERR! } npm ERR! npm ERR! The operation was rejected by your operating system. npm ERR! It is likely you do not have the permissions to access this file as the current user npm ERR! npm ERR! If you believe this might be a permissions issue, please double-check the npm ERR! permissions of the file and its containing directories, or try running npm ERR! the command again as root/Administrator. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-07-21T14_13_53_258Z-debug-0.log
und hier der output vom Befehl apt policy npm node-gyp
pi@iobroker-slave:/opt/iobroker/node_modules/node-mbus $ apt policy npm node-gyp npm: Installed: (none) Candidate: 5.8.0+ds6-4+deb10u2 Version table: 5.8.0+ds6-4+deb10u2 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages node-gyp: Installed: (none) Candidate: 3.8.0-6 Version table: 3.8.0-6 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
-
@marlan99 was machst du auf dem Slave?
bei richtiger Konfiguration des Multihost läuft alles über den Master
-
@homoran der heisst nur so. Sorry wenn das verwirrt.
Sind beides unabhängige ioBroker Instanzen auf je einem raspberry pi am laufen. Die handvoll Objekte welche ich auf dem anderen ioBroker benötige tausche ich via mqtt aus."Mein" Master ist ebenfalls bereits auf node.js 16 updated und dort laufen alle Adapter (auch der zigbee )
der zweite Raspi hier (mit namen slave) hat nur eine handvoll Adapter drauf und hier kann nur der mbus nicht mehr gestartet werden -
@marlan99 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Hier der output mit npm -g i npm
das sollzest du ja auch gar nicht machen! ist böse!
Deswegen hat @thomas-braun ja gefragt ob du das vielleicht mal benutzt hattest -
@homoran uups
-
nächster Versuch nun den Adapter komplett zu deinstallieren um ihn danach wieder erneut zu installieren ist nun ebenfalls fehlgeschlagen:
$ iobroker add mbus auto --host iobroker-slave NPM version: 8.11.0 Installing iobroker.mbus@2.4.0... (System call) host.iobroker-slave Cannot install iobroker.mbus@2.4.0: 1 ERROR: Process exited with code 25
-
@marlan99 und mit --debug?
aber die Frage ob npm richtig installiert ist, ist ja noch offen.