NEWS
nach iobroker-update verliert instanz verbindung
-
Hallo,
nachdem ich meinen iobroker geupdatet hab, verliert meine Ecovacs-instanz immer die Verbindung, er stellt die Verbindung her, verliert sie aber nach 3-4 Sekunden wieder.
Vll ist ja jemandem diese Problem bekannt und kann mir helfen?!2020-09-14 22:10:55.479 - error: ecovacs-deebot.0 (12728) uncaught exception: The module '/opt/iobroker/node_modules/canvas/build/Release/canvas.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 64. This version of Node.js requires NODE_MODULE_VERSION 72. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`). 2020-09-14 22:10:55.480 - error: ecovacs-deebot.0 (12728) Error: The module '/opt/iobroker/node_modules/canvas/build/Release/canvas.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 64. This version of Node.js requires NODE_MODULE_VERSION 72. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`). at Object.Module._extensions..node (internal/modules/cjs/loader.js:1187:18) at Module.load (internal/modules/cjs/loader.js:985:32) at Function.Module._load (internal/modules/cjs/loader.js:878:14) at Module.require (internal/modules/cjs/loader.js:1025:19) at require (internal/modules/cjs/helpers.js:72:18) at Object. (/opt/iobroker/node_modules/canvas/lib/bindings.js:3:18) at Module._compile (internal/modules/cjs/loader.js:1137:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10) at Module.load (internal/modules/cjs/loader.js:985:32) at Function.Module._load (internal/modules/cjs/loader.js:878:14) 2020-09-14 22:10:55.483 - info: ecovacs-deebot.0 (12728) cleaned everything up...
Danke schon mal für die Hilfe.
-
@Chris1983
canvas neubauen.
Bitte Textausgaben in CodeTags setzen. -
@Thomas-Braun Danke für die Antwort. mit dem Canvas hab ich mehrfach probiert, hilft nicht. Oder wie bau ich das neu? Das sind die Schritte die ich gemacht habe:
sudo apt-get update sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev sudo npm install canvas --unsafe-perm=true
-
Vorab: Node nach dem Update desselben noch sauber?
whoami && who -r && which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs
Ich bin nicht sicher, ob das so funktioniert:
cd /opt/iobroker iobroker rebuild canvas
Alternativ mal so:
cd /opt/iobroker/node_modules npm rebuild canvas
-
@Thomas-Braun Ok, hab ich jetzt probiert, jetzt kann ich nicht mal mehr den Adapter installieren, er bricht die Installation ab mit dem Text:
$ ./iobroker add ecovacs-deebot --host raspberrypi NPM version: 6.14.8 npm install iobroker.ecovacs-deebot@1.0.3 --loglevel error --prefix "/opt/iobroker" (System call) npm ERR! code ELOOPnpm ERR! syscall access npm ERR! path /opt/iobroker/node_modules/canvas npm ERR! errno -40 npm ERR! ELOOP: too many symbolic links encountered, access '/opt/iobroker/node_modules/canvas' npm ERR! A complete log of this run can be found in:npm ERR! /home/iobroker/.npm/_logs/2020-09-15T16_08_20_190Z-debug.log ERROR: host.raspberrypi Cannot install iobroker.ecovacs-deebot@1.0.3: 216 ERROR: process exited with code 25
und den log legt er leider auch nicht an, der Ordner ist leer.
-
@Chris1983 Dann war es vermutlich das falsche Verzeichnis.
-
@Thomas-Braun An diese Stelle: VIELEN DANK!!!
Das mit dem "cd /opt/iobroker/node_modules
npm rebuild canvas" hat mich auf die richtige Spur gebracht. Deine hier vorgeschlagene lösung hat anfangs nicht funktioniert, bin aber auf einen älteren topic (https://forum.iobroker.net/topic/34945/too-many-symbolic-links-encountered-access-canvas/7) gestoßen bei dem Du auch schon in die richtung gegangen bist. Habe dann noch den Tipp des Hilfesuchenden genutzt und auf der Pi selbst canvas gelöscht, danach/opt/iobroker/node_modules sudo npm rebuild canvas
ausgeführt und da hat es funktioniert. Instanzen wieder installiert und alles läuft wieder.
Also nochmals: Vielen Dank für die schnelle Hilfe!
-
@Chris1983
Dann wirf noch einiobroker fix
hinterher, npm sollte man nicht per sudo einleiten.
(Auch wenn ich das in dem besagten Thread vielleicht so geschrieben habe). -
@Thomas-Braun Ok, ich bin leider nicht so der Iobroker Profi, bin noch recht neu bei der Sache und stelle hier wahrscheinlich die "Was ist ein Abseits"-Frage, aber warum nicht mit sudo? Lese das sehr häufig bei Befehlen.
-
@Chris1983
npm wird (wenn im Verzeichnis /opt/iobroker ausgeführt) ohnehin im richtigen User-Kontext ausgeführt. Das ist für den Befehl so definiert worden. -
falls mal wer das selbe Problem hat:
Nach Systemupdate auf:
Plattform: linux Betriebssystem: linux Die Architektur: x64 CPUs: 4 Geschwindigkeit: 639 MHz Modell: Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz RAM: 3.7 GB System-Betriebszeit: 00:23:08 Node.js: v12.20.0 Datenträgergröße: 52.7 GiB Datenträger verfügbar: 45.0 GiB Adapter-Anzahl: 322 NPM: v6.14.10 Betriebszeit: 00:11:01 Aktive Instanzen: 15
bekam ich folgende Fehlermeldung:
ecovacs-deebot.0 2021-01-02 20:35:51.518 error (27734) uncaught exception: The module '/opt/iobroker/node_modules/canvas/build/Release/canvas.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 64. This version of Node.js requires NODE_MODULE_VERSION 72. Please try re-compiling or re-installing the module (for instance, using
npm rebuild
ornpm install
).Lösung:
sudo npm uninstall canvas
sudo npm install canvas --unsafe-perm=true -
@StefanMc Auch hier leitet man npm nicht per sudo ein.
Ein
npm rebuild canvas
im entsprechenden Ordner hätte es auch getan.
Lass den Fixer jetzt nochmal auf das System los:
iobroker stop iobroker fix
-
@Thomas-Braun
Hallo Thomas,
nein, eben nicht, ich habe mir den Beitrag genau durchgelesen und es probiert, jedoch ohne Erfolg, deswegen auch mein Post. -
wovon redet ihr?
Thomas redet von sudo:
https://forum.iobroker.net/topic/17109/wichtige-hinweise-bei-neueren-npm-versionen-und-sudo