NEWS
node-red-node-email Update Fehler
-
@thomas-braun Hi, danke, das probiere ich mal aus. Ich vertraue dir da mal.
Ich frag mich nur woran das liegen kann. Umstieg auf höhere Node Red Version, Umstieg auf Bullseye oder Umstieg auf Node.JS 16? Das hat sich bei mir nämlich seit dem letzten Update der Node geändert. Andere Updates konnte ich Fehlerfrei durchführen, z.B. node-red-contrib-cron-plus oder node-red-contrib-telegrambot oder node-red-dashboard.
Allerdings hatte ich bei node-red-node-feedparser das gleiche Problem wie bei email und auch die gleiche Fehlermeldung das die Datei /opt/iobroker/iobroker-data/node-red/node_modules/node-red-node-email umbenannt werden soll. -
Ich vermute, das hängt mit einer neueren Version von npm zusammen. Da hat sich das Format der package*.json geändert und die Konvertierung scheint da nicht immer richtig durchzulaufen.
Allerdings habe ich die Meldungen dazu nie im Zusammenhang mit node-red gesehen. Nutzt der paletten manager auch npm im Hintergrund? -
@thomas-braun Hi, vielen Dank dein Zweizeiler hat geholfen. Ich konnte die Nodes jetzt aktualisieren. Und alles läuft noch.
Ob der Palettenmanger auch npm nutzt kann ich dir leider nicht beantworten. -
Vielleicht weiß unser 'Roter-Knoten'-Spezi @mickym das ja.
-
@thomas-braun Der rote Knoten Spezi bestätigt, dass npm genutzt wird. Das sieht man ja an dem Log, das Franky gepostet hat.
-
Stimmt.
Dann gelten da natürlich die gleichen Voraussetzungen wie für die anderen Adapter auch: Am besten einen möglichst sauberen npm tree haben, bevor da npm8 ins Spiel kommt. -
@thomas-braun Hi, hatte eigentlich gedacht das es sauber ist. Ich war extra nach deiner Anleitung aus deiner Signatur vorgegangen.
Bei
cd /opt/iobroker npm ls | grep -E 'github|ERR'
wurde nichts zurück geliefert. Und
npm ls
sah auch unauffällig aus.
Hätte ich allerdings deinen zweiten Post auch noch gelesen, wäre ich wohl auf deinen Zweizeiler gestoßen. Aber da ich direkt nach dem Update auf Node,js 16 keine Probleme hatte, auch nicht mit Adapterupdates, meinte ich das wäre für mich nicht relevant.
Aber jetzt läufts ja, oder sollte ich da nochmal was kontrollieren bzw. geradeziehen?
-
@frankyboy73 Du kannst noch in das NodeRed Verzeichnis /opt/iobroker/iobroker-data/node-red gehen und schauen mit npm list ob Du einen sauberen Baum hast.
Ich hatte das gleiche Problem mit der email Node - musste aber das Ganze Verzeichnis der email Node löschen und nicht nur umbennen, weil der Palettenmanager nach jedem Neustart von NodeRed wieder gesagt hat, dass die email Node zu aktualisieren ist. Wenn dann aber ausgeführt, war alles up to date.
-
Ja, die üblichen Meldungen bei einer nicht sauber konvertierbaren package-lock stammen auch aus dem Wurzelverzeichnis des damit betriebenen nodejs-Projekts. Bei einigen komplexeren Adaptern ist es aber so, dass sozusagen innerhalb des Hauptprojekts es noch 'Unterprojekte' gibt, die wiederum ein eigenes Inhaltsverzeichnis in Form einer eigenen package*.json-Datei haben.
Bei node-red ist das der Fall. -
@mickym Ok, mache ich mal. Wenn ich das aber richtig verstanden habe, löscht der Zweizeiler von @Thomas-Braun die Verzeichnisse und benennt sie nicht um.
-
@thomas-braun Bei Node-Red wird die package-lock.json auch gepflegt, also anders als im /opt/iobroker Verzeichnis.
-
@frankyboy73 sagte in node-red-node-email Update Fehler:
@mickym Ok, mache ich mal. Wenn ich das aber richtig verstanden habe, löscht der Zweizeiler von @Thomas-Braun die Verzeichnisse und benennt sie nicht um.
Nee nichts löschen. Nun schauen. Wie gesagt NodeRed hat in dem genannten Verzeichnis ein ganz eigene NodeJS Instanz mit ihren Modulen.
-
@thomas-braun Ah, Ok, dann beim nächsten mal auch
cd /opt/iobroker/iobroker-data/node-red/node_modules/ npm ls | grep -E 'github|ERR'
ausführen?
-
@frankyboy73 Du wirfst 2 Dinge durcheinander.
/opt/iobroker ist das iobroker Verzeichnis und dessen module sind im Verzeichnis /opt/iobroker/node_modules
die Prüfung macht man immer über dem Verzeichnis wo das node_modules Verzeichnis ist. Für NodeRed also
cd /opt/iobroker/iobroker-data/node-redund hat auch nichts mit github zu tun
Schau einfach ob Du einen sauberen Baum hast:
cd /opt/iobroker/iobroker-data/node-red pi@MWHome:/opt/iobroker/iobroker-data/node-red $ ls cronplusdata flows.json lib nrchkb package-lock.json settings.js flows_cred.json homekit-persist node_modules package.json projects settings.js.orginal pi@MWHome:/opt/iobroker/iobroker-data/node-red $ npm list node-red-project@0.0.1 /opt/iobroker/iobroker-data/node-red ├── @mdi/font@5.9.55 ├── node-red-contrib-bigtimer@2.8.2 ├── node-red-contrib-buffer-parser@3.2.2 ├── node-red-contrib-cron-plus@1.5.7 ├── node-red-contrib-crypto-js@0.1.1 ├── node-red-contrib-fs-ops@1.6.0 ├── node-red-contrib-harmony-websocket@2.2.6 ├── node-red-contrib-light-scheduler@0.0.18 ├── node-red-contrib-tail-file@1.2.6 ├── node-red-contrib-ui-contextmenu@2.0.1 ├── node-red-contrib-ui-time-scheduler@1.17.1 ├── node-red-contrib-web-worldmap@2.28.3 ├── node-red-contrib-whin@0.1.14 ├── node-red-dashboard@3.1.7 ├── node-red-node-email@1.17.0 ├── node-red-node-feedparser@0.3.0 ├── node-red-node-mysql@1.0.3 ├── node-red-node-ping@0.3.1 ├── node-red-node-snmp@1.0.2 ├── node-red-node-tail@0.3.2 ├── node-red-node-ui-table@0.3.12 └── speedtest-net@2.2.0
Bei mir schaut der gut aus.
-
@mickym Ah OK, also so:
pi@raspberrypi:/opt/iobroker/iobroker-data/node-red $ ls alexa-local flows_cred.json lib package.json settings.js cronplusdata flows.json node_modules package-lock.json pi@raspberrypi:/opt/iobroker/iobroker-data/node-red $ npm list node-red-project@0.0.1 /opt/iobroker/iobroker-data/node-red ├── node-red-contrib-cron-plus@1.5.7 ├── node-red-contrib-fritzapi@0.5.2 ├── node-red-contrib-light-scheduler@0.0.18 ├── node-red-contrib-telegrambot@12.0.0 ├── node-red-dashboard@3.1.7 ├── node-red-node-email@1.17.0 ├── node-red-node-feedparser@0.3.0 ├── node-red-node-ping@0.3.1 ├── node-red-node-ui-table@0.3.12 └── speedtest-net@2.2.0
Was mich gerade wundert, das da oben alexa-local drin steht, das habe ich schon seit Jahren nicht mehr.
-
@frankyboy73 Der Baum schaut aber super sauber aus. Es gab manche Nodes - die Daten im Filesystem abgespeichert haben und die bleiben halt, selbst wenn Du die Nodes löschst. Wie gesagt mit der email Node hatte ich auch Probleme, die anderen gingen sauber zu aktualisieren.
In meinen Augen ist bei Dir alles gut.
-
@mickym OK, Danke, wieder was dazu gelernt.
Was mich jetzt wundert, ist diese Ausgabe, die hatte ich vor dem Update auf Node.JS 16 ganz sicher nicht, zu 100% sicher. Ok, der Adapter ist ne Latest Installation, da schon lange her, hatte ich das nicht mehr auf dem Schirm, aber unter Node.js 14 wurde mir das nicht ausgegeben.
pi@raspberrypi:/opt/iobroker $ npm ls | grep -E 'github|ERR' ├── iobroker.fritzdect@2.2.5 (git+ssh://git@github.com/foxthefox/ioBroker.fritzdect.git#c25e37c0054aab94b58c5fd1903c1ab681fdb96e) pi@raspberrypi:/opt/iobroker $ npm ls iobroker.inst@2.0.3 /opt/iobroker ├── colors@1.4.0 ├── fs-extra@7.0.1 ├── iobroker.admin@5.3.8 ├── iobroker.alexa2@3.11.2 ├── iobroker.broadlink2@2.1.5 ├── iobroker.deconz@1.3.21 ├── iobroker.feiertage@1.1.0 ├── iobroker.flot@1.11.0 ├── iobroker.fritzdect@2.2.5 (git+ssh://git@github.com/foxthefox/ioBroker.fritzdect.git#c25e37c0054aab94b58c5fd1903c1ab681fdb96e) ├── iobroker.ical@1.13.1 ├── iobroker.info@1.9.19 ├── iobroker.iot@1.11.8 ├── iobroker.js-controller@4.0.23 ├── iobroker.mihome@1.4.0 ├── iobroker.node-red@3.3.1 ├── iobroker.simple-api@2.7.0 ├── iobroker.socketio@4.2.0 ├── iobroker.sonoff@2.5.1 ├── iobroker.sql@2.1.7 ├── iobroker.tr-064@4.2.16 ├── iobroker.web@4.3.0 ├── iobroker@2.0.3 ├── npm@8.4.0 ├── semver@5.7.1
-
@frankyboy73 sagte in node-red-node-email Update Fehler:
Was mich jetzt wundert, ist diese Ausgabe, die hatte ich vor dem Update auf Node.JS 16 ganz sicher nicht
Was meinst du konkret?
Mir fällt aber gerade noch das Modul npm auf. Das hat imho im root-Verzeichnis des ioBrokers nix zu suchen. Das gehört da nicht hin. -
@thomas-braun Ich meine die Ausgabe nach
npm ls | grep -E 'github|ERR'
vom fritzdect, die hatte ich vor Update nicht gehabt, da hatte ich definitiv gar keine Ausgabe.
Modul npm gehört da nicht hin? Na toll, was hab ich jetzt wieder verbockt? Krieg ich das da irgendwie weg? Weiß leider auch nicht wo das her kommt, wie gesagt, bin mit Linux eher so Copi and Paste. Bin froh, das es dich hier gibt, mit deinen vielen Anleitungen. -
Dann ist fritzdect noch in der package.json eingetragen.
fritzdect github: 2.2.6 latest: 2.2.3 for 6 months stable: 2.2.3 for 6 months
Wenn die 2.2.5 von dir ausgetestet wurde kann die weg / aktualisiert werden / auf eine Version aus den Repos gedrück werden. Wie du meinst.
npm an der Stelle loswerden:
cd /opt/iobroker npm uninstall npm