NEWS
Node Red läuft nach Update auf Version 4.0.0 nicht mehr.
-
Hallo zusammen,
ich habe Node Red aktualisiert von 3.3.1 auf die Version 4.0.0. Seitdem startet die Instanz nicht mehr. Ich habe auch die letzten Tage schon einige Dinge versucht und das Internet nach Lösung durchsucht. Allerdings alle erfolglos. Debugging, Downgrad,...
Nur löschen und neuinstallieren habe ich noch nicht versucht, weil ich Angst habe, dass auch die ganzen Flows gelöscht werden.iobroker.inst@2.0.3 /opt/iobroker ├── colors@1.4.0 ├── detect-libc@1.0.3 extraneous ├── fs-extra@7.0.1 ├── iobroker.admin@6.2.14 ├── iobroker.alexa2@3.19.5 ├── iobroker.backitup@2.4.12 ├── iobroker.bring@1.8.1 ├── iobroker.broadlink2@2.1.5 ├── iobroker.cameras@0.1.8 ├── iobroker.deconz@2.0.5 ├── iobroker.devices@1.0.12 ├── iobroker.discovery@3.0.5 ├── iobroker.ecovacs-deebot@1.4.7 ├── iobroker.fullybrowser@2.1.2 ├── iobroker.influxdb@3.1.8 ├── iobroker.info@1.9.19 ├── iobroker.iot@1.11.9 ├── iobroker.javascript@6.0.0 ├── iobroker.js-controller@4.0.23 ├── iobroker.midea@0.0.7 ├── iobroker.node-red@4.0.0 invalid: "3.3.1" from the root project ├── iobroker.shelly@6.0.0 ├── iobroker.simple-api@2.7.0 ├── iobroker.socketio@6.1.8 ├── iobroker.sony-bravia@1.0.9 ├── iobroker.swiss-weather-api@1.0.3 ├── iobroker.tr-064@4.2.16 ├── iobroker.tradfri@3.1.3 ├── iobroker.vis-history@1.0.0 ├── iobroker.vis-hqwidgets@1.2.0 ├── iobroker.vis-icontwo@0.89.0 ├── iobroker.vis-inventwo@3.3.3 ├── iobroker.vis-material@0.1.3 ├── iobroker.vis-materialdesign@0.5.9 ├── iobroker.vis-metro@1.2.0 ├── iobroker.vis-timeandweather@1.2.2 ├── iobroker.vis@1.4.15 ├── iobroker.web@5.2.4 ├── iobroker.whatsapp-cmb@0.2.2 ├── iobroker.worx@1.6.6 ├── iobroker.ws@2.1.3 ├── iobroker@2.0.3 ├── node-abi@2.30.0 extraneous ├── prebuild-install@6.1.3 extraneous ├── semver@5.7.1 ├── tar-fs@2.1.0 extraneous ├── tar-stream@2.1.2 extraneous └── yargs@7.1.1 npm ERR! code ELSPROBLEMS npm ERR! extraneous: detect-libc@1.0.3 /opt/iobroker/node_modules/detect-libc npm ERR! invalid: iobroker.node-red@4.0.0 /opt/iobroker/node_modules/iobroker.node-red npm ERR! extraneous: node-abi@2.30.0 /opt/iobroker/node_modules/node-abi npm ERR! extraneous: prebuild-install@6.1.3 /opt/iobroker/node_modules/prebuild-install npm ERR! extraneous: tar-fs@2.1.0 /opt/iobroker/node_modules/tar-fs npm ERR! extraneous: tar-stream@2.1.2 /opt/iobroker/node_modules/tar-stream npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-08-20T07_12_46_229Z-debug-0.log
Der Versuch downzugraden auf die Version 3.3.1 bringt mir folgende Fehlermeldung
Update node-red from @4.0.0 to @3.3.1 NPM version: 8.15.0 Installing iobroker.node-red@3.3.1... (System call) npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/@babel/runtime npm ERR! dest /opt/iobroker/node_modules/@babel/.runtime-cSN2FFol npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/@babel/runtime' -> '/opt/iobroker/node_modules/@babel/.runtime-cSN2FFol' npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-08-20T07_17_48_909Z-debug-0.log host.raspi4iob Cannot install iobroker.node-red@3.3.1: 217
Nodejs ist auf Version 16.17
/usr/bin/nodejs v16.17.0 /usr/bin/node v16.17.0 /usr/bin/npm 8.15.0 nodejs: Installiert: 16.17.0-deb-1nodesource1 Installationskandidat: 16.17.0-deb-1nodesource1 Versionstabelle: *** 16.17.0-deb-1nodesource1 100 100 /var/lib/dpkg/status 14.20.0-deb-1nodesource1 500 500 https://deb.nodesource.com/node_14.x buster/main armhf Packages 10.24.0~dfsg-1~deb10u1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages 500 https://archive.raspbian.org/raspbian buster/main armhf Packages
Wäre echt sehr dankbar, wenn mir jemand weiterhelfen könnte!
-
Du bist nicht der erste. Kurz: Lösch die versteckten Verzeichnisse mit den kryptischen Dateiendungen.
-
@thomas-braun Danke schon mal! Das werde ich versuchen. Gibt es dafür auch schon irgendwo eine Anleitung? Würde mich gerne irgendwo dran orientieren. Nicht, dass ich etwas kaputt mache... Da hängt meine ganze Automatisation dran
-
@alex_m sagte in Node Red läuft nach Update auf Version 4.0.0 nicht mehr.:
Nicht, dass ich etwas kaputt mache... Da hängt meine ganze Automatisation dran
Und warum betreibt man die im Beta-Zweig?
Anleitung in meinem Nodejs-HowTo, zweiter Teil, erster Eintrag.
-
@thomas-braun War mir nicht bewusst, dass es Beta ist. Es wurde mir im IOBroker als Update vorgeschlagen und dem bin ich gefolgt... Zu naiv und unwissend
-
@thomas-braun Hast du das gemeint?
pi@raspi4iob:/opt/iobroker/node_modules $ for i in $(ls -d .[^.]*-*/); do rm -rf ${i%%/}; done ls: Zugriff auf '.[^.]*-*/' nicht möglich: Datei oder Verzeichnis nicht gefunden
-
@alex_m sagte in Node Red läuft nach Update auf Version 4.0.0 nicht mehr.:
War mir nicht bewusst, dass es Beta ist.
Nicht nur den Adapter !!
iobroker.admin@6.2.14
Zu naiv und unwissend
Du hast komplett dein Repo auf den Verwahrungsort " BETA " ( latest ) stehen !!
-
@glasfaser Sch... Das werd ich sofort ändern. In dem Fall hatte ich noch Glück, dass die anderen Adapter noch problemlos gelaufen sind! Danke für den Hinweis!
Ich versuch gerade immer noch meinen Node Red zurückzusetzen. Ich schaff es aber einfach nicht.
Jeden anderen Adapter würde ich ja deinstallieren. Bei dem hab ich aber die Befürchtung, dass dann alle Flows weg sind... -
@alex_m Deine Flows sind im iobroker-data Verzeichnis. Du kannst Deinen Flow wegsichern - indem Du die folgenden Dateien wegsicherst.
Gehe ich das Verzeichnis /opt/iobroker/iobroker-data/node-red
Dort sind in 3 Dateien die wichtigsten Teile gesichert:
- flows.json,flows_cred.json und package.json
Damit ist alles gesichert - ggf. noch das lib Verzeichnis, wenn Du eigene Bibliotheken lokal abgespeichert hast:
Bei Dir ist es halt das Verzeichnis /opt/iobroker/iobroker-data/node-red aus dem Du die Dateien sichern musst. Eigene Flows als Bibliotheken hattest Du hier
- wenn Du da nie was gemacht hast brauchst das lib Verzeichnis nicht.
Wenn Du keine uralten Nodes von Alexa usw. drin hast, lässt sich das wieder herstellen.
Du kannst Dir falls Du Bedenken hast - die flow.json auch mal im Texteditor aufmachen - aber halt nichts verändern - damit Du siehst, dass alle Deine Flows enthalten sind.
Dann lösche den Adapter - zur Not mit npm remove oder manuell die Verzeichnisse wegschmeissen.
Und ansonsten habe ich ja hier gerade gepostet - wenn gar nichts mehr hilft, bevor Du Dein System ganz neu aufbaust.
https://forum.iobroker.net/post/845093Wie gesagt mit den 3 Dateien - ist eigentlich alles abgedeckt. Der Rest lässt sich wieder rekonstruieren.
Und vielleicht nochmal zum Schluss: Diese ganzen Update Probleme haben in der Regel nichts mit den Adaptern zu tun, sondern mit der npm 8 Version oder auch nodejs. Deswegen gibt es soviele Probleme bei unterschiedlichen Adaptern. Die von mir vorgeschlagene Radikalmethode hat sich für MICH bewährt - da dann alle Abhängigkeiten nach neuestem Stand rekonstruiert wurden.
-
@alex_m sagte in Node Red läuft nach Update auf Version 4.0.0 nicht mehr.:
npm ERR! dest /opt/iobroker/node_modules/@babel/.runtime-cSN2FFol
Auch eine Deinstallation und Neuinstallation wird nicht mehr funktionieren, da dass (fehlerhafte) Verzeichnis außerhalb von Node-RED liegt.
Die Sisyphusarbeit wird darin bestehen die Verzeichnisse von Hand zu löschen (+ das können etliche sein)
wie oben angezeigt:
rm -rf /opt/iobroker/node_modules/@babel/.runtime-cSN2FFol
dann wieder versuchen. Nun wird ein anderes Verzeichnis angezeigt werden. Dieses auch wieder löschen usw.
Dann wird er es endlich nach dem x-ten Versuch installieren und ohne Fehler durchlaufen. -
@sborg Wie ich bereits geschrieben habe - dann würde ich das ganze node_modules Verzeichnis neu aufbauen lassen - hab ich ja unten verlinkt.
-
@sborg @mickym Danke!!! Ich habe es wieder zum laufen bekommen!
Zuerst die Files gesichert. Das gab zumindest schon mal eine gewisse Sicherheit!
Über die "Sisyphusarbeit" habe ich es dann aber auch so hinbekommen. Also immer wieder versucht über über den Befehl zu installieren
npm install iobroker.node-red@3.3.1
und dann aus dem anschliessenden Fehler-Protokoll den fehlerhaften Pfad abgelesen und mit rm -rf gelöscht, wie im Bsp.
rm -rf /opt/iobroker/node_modules/@babel/.runtime-cSN2FFol
Irgenwann lief die Installation dann durch. Dann IObroker Reboot und danach kam ich dann auch wieder auf die NodeRed Oberfläche.
Dann gab es noch ein kleines Berechtigungsproblem auf dem Port80. Das ich mit dem Fixer lösen konnte.iobroker stop iobroker fix iobroker start
Danke für euren Support und eure guten Beschreibungen. Für Leute wie mich, die sich nicht so gut in Linux und den Systemen auskennen, ist es extrem hilfreich, wenn Screenshots oder Befehle in der Hilfe integriert sind. Das war perfekt für mich!
-
Wenig Sisyphos-Arbeit wäre es hiermit gewesen:
https://forum.iobroker.net/topic/57337/fehler-25-bei-adapter-install-update-mit-npm8
-
@thomas-braun Mittlerweile ja, "damals" noch nicht.
Ihr wart zu langsam -
@sborg sagte in Node Red läuft nach Update auf Version 4.0.0 nicht mehr.:
"damals"
Da damals erst vor 24 Stunde war hätte man die Sisyphos-Arbeit auch 'damals' schon abkürzen können. Der 'Lösch-Einzeiler' ist älter.