NEWS
nach iobroker-update verliert instanz verbindung
-
@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