NEWS
Untersuchung: code 25 fehlerlösung
-
Wie gesagt - aktualisiert, nutzt die richtige nodejs - aber lasst einfach das node_modules Verzeichnis neu aufbauen, anstatt immer wieder neue Fehler zu untersuchen - das bringt doch alles nichts und kostet in meinen Augen nur unnütze Zeit.
-
Hallo zusammen,
bei mir tritt dieser fehler auch auf. Ich wollte gerade den Adapter Netatmo updaten und bekamm auch die Fehlermeldung.
Habe dann auch den Einzeiler benutzt und es funktioniert.
Beim Node-Red Adpater gleiche Fehlermeldung
Installing iobroker.node-red@4.0.0... (System call) npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/node-red-node-email/node_modules/encoding-japanese/src npm ERR! dest /opt/iobroker/node_modules/.node-red-node-email-1lk8B7Gi/node_modules/encoding-japanese/src npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/node-red-node-email/node_modules/encoding-japanese/src' -> '/opt/iobroker/node_modules/.node-red-node-email-1lk8B7Gi/node_modules/encoding-japanese/src' npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-09-23T10_44_40_184Z-debug-0.log
Auch gelösst mit dem Einzeiler.
@mickym wie kann ich denn node_modules neu aufbauen?
Danke
-
@gabe Wie gesagt - macht euch ein Sicherung des jetzigen Zustandes das ihr wieder zurück könnt oder falls ihr neu aufbauen müsst ist es egal.
Hier die Anleitung: https://forum.iobroker.net/topic/56543/nach-nodejs-update-kein-adapter-mehr-updatebar/23?_=1658914381795
anschließend vielleicht noch mit npm prune aufräumen bzw. package.json bereinigen und alles updaten.
-
@mickym alles klar danke werde ich mal versuchen
nächstes Update ist durchgelaufen, mal schauen beim nächsten. Vielen Dank erstmal!
-
@gabe Na wenns läuft - besteht ja kein Handlungsbedarf.
-
Hi zusammen, habe jetzt plötzlich leider auch das Problem mit dem Error 25 bzw. das bei jeder Adapter Installation die bekannten ominösen Ordner plötzlich im Node-Modules Ordner angelegt werden und ich diese dann mit dem o.g. Einzeiler immer wieder löschen muss. Ich habe zwar auch Node-Red im Einsatz aber hatte mit auftreten des Fehlers noch eine ältere Version 3.1.0 .
Ich habe auch einen über GutHub installierten Adapter aber auch nach einer testweisen Deinstallation dessen ist das komische npm Fehlverhalten bei mir vorhanden.
Anbei hier meine Konfig:
armv7l /usr/bin/nodejs /usr/bin/node /usr/bin/npm v16.17.1 v16.17.1 8.15.0 4.0.23 pi pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi iobroker /home/pi Hit:1 http://archive.raspberrypi.org/debian buster InRelease Hit:2 http://raspbian.raspberrypi.org/raspbian buster InRelease Hit:3 https://deb.nodesource.com/node_16.x buster InRelease Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date. nodejs: Installed: 16.17.1-deb-1nodesource1 Candidate: 16.17.1-deb-1nodesource1 Version table: *** 16.17.1-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 pi@ioBroker-master:~ $
iobroker.inst@2.0.2 /opt/iobroker ├── @types/caseless@0.12.2 extraneous ├── @types/request@2.48.8 extraneous ├── @types/tough-cookie@4.0.2 extraneous ├── canvas@2.10.1 ├── coffeescript@1.12.7 extraneous ├── colors@1.4.0 ├── form-data@2.5.1 extraneous ├── fs-extra@7.0.1 ├── iobroker.admin@5.3.8 ├── iobroker.backitup@2.4.12 ├── iobroker.broadlink2@2.1.5 ├── iobroker.cloud@4.2.2 ├── iobroker.discovery@3.0.5 ├── iobroker.email@1.1.3 ├── iobroker.fhem@1.6.3 ├── iobroker.flot@1.11.0 ├── iobroker.ham@5.3.0 ├── iobroker.harmony@1.2.2 ├── iobroker.history@1.11.1 ├── iobroker.hm-rega@3.0.40 ├── iobroker.hm-rpc@1.15.12 ├── iobroker.hue@3.7.1 ├── iobroker.ical@1.13.1 ├── iobroker.icons-mfd-svg@1.1.0 ├── iobroker.info@1.9.19 ├── iobroker.iot@1.11.9 ├── iobroker.iqontrol@2.0.1 ├── iobroker.javascript@6.0.0 ├── iobroker.js-controller@4.0.23 ├── iobroker.mielecloudservice@6.3.2 ├── iobroker.mobile@1.0.1 ├── iobroker.mqtt@3.0.6 ├── iobroker.nina@0.0.25 ├── iobroker.node-red@4.0.0 ├── iobroker.ping@1.5.3 ├── iobroker.pushover@3.0.3 ├── iobroker.rpi2@1.3.2 ├── iobroker.sayit@1.12.6 ├── iobroker.scenes@2.3.9 ├── iobroker.simple-api@2.7.0 ├── iobroker.smartgarden@2.0.0 ├── iobroker.socketio@4.2.0 ├── iobroker.sonoff@2.5.1 ├── iobroker.sonos@2.2.3 ├── iobroker.unifi@0.5.10 ├── iobroker.viessmann@1.3.7 ├── iobroker.vis@1.4.15 ├── iobroker.wamo@0.2.12 invalid: "github:smarthausleben/ioBroker.wamo#08ddaabcfbd6dc558bdfe4001d91e24e13d99d54" from the root project ├── iobroker.web@4.3.0 ├── iobroker.yahka@0.13.1 ├── iobroker.zigbee@1.7.5 ├── iobroker.zwave2@3.0.3 ├── iobroker@2.0.3 ├── node-inspect@2.0.0 extraneous ├── picocolors@1.0.0 extraneous ├── semver@5.7.1 ├── suncalc2@1.8.1 extraneous ├── virtual-tsc@0.6.2 extraneous ├── wake_on_lan@1.0.0 extraneous └── yargs@7.1.2 npm ERR! code ELSPROBLEMS npm ERR! extraneous: @types/caseless@0.12.2 /opt/iobroker/node_modules/@types/caseless npm ERR! extraneous: @types/request@2.48.8 /opt/iobroker/node_modules/@types/request npm ERR! extraneous: @types/tough-cookie@4.0.2 /opt/iobroker/node_modules/@types/tough-cookie npm ERR! extraneous: coffeescript@1.12.7 /opt/iobroker/node_modules/coffeescript npm ERR! extraneous: form-data@2.5.1 /opt/iobroker/node_modules/form-data npm ERR! invalid: iobroker.wamo@0.2.12 /opt/iobroker/node_modules/iobroker.wamo npm ERR! extraneous: node-inspect@2.0.0 /opt/iobroker/node_modules/node-inspect npm ERR! extraneous: picocolors@1.0.0 /opt/iobroker/node_modules/picocolors npm ERR! extraneous: suncalc2@1.8.1 /opt/iobroker/node_modules/suncalc2 npm ERR! extraneous: virtual-tsc@0.6.2 /opt/iobroker/node_modules/virtual-tsc npm ERR! extraneous: wake_on_lan@1.0.0 /opt/iobroker/node_modules/wake_on_lan npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-09-30T16_43_17_165Z-debug-0.log pi@ioBroker-master:/opt/iobroker $
-
@jupzup sagte in Untersuchung: code 25 fehlerlösung:
invalid: iobroker.wamo@0.2.12 /opt/iobroker/node_modules/iobroker.wamo
Schau dir den Adapter an.
-
@thomas-braun
Hi ja ich weiß das ist der von GutHub installierte Adapter aber wie gesagt als ich den deinstalliert hatte, dann hatte ich tatsächlich auch einen sauberen Tree ohne Fehler aber dennoch bekam ich den Error 25 bei einer Adapter Installation und es wurden diese ganzen Ordner angelegt daher hatte ich den wieder installiert.Zumal ich den schon länger nutze und bis dato hatte ich nie Probleme mit einer Adapter Installation. Also irgendetwas muss sich vor kurzem geändert haben.
-
Der ist aber nicht richtig drin. Sonst gäbe es die 'invalid'-Meldung nicht.
-
Hallo Zusammen,
Also bei mir war es so, dass ich etwa 15 Adapter hatte zum Updaten. Hatte auch noch Node.js patch zum machen (war glaub bei 16.15 oder irgendwas). Die ersten Updates gingen Problemlos. Dann kam das Update auf NodeRed 4.0 und das schlug fehlt.
Danach ging nichts mehr. NodeRed deinstallieren und 4.0 wieder installieren ging problemlos aber nicht ein Downgrade. Da kam auch Fehler 25. Leider hatte ich dann aber keine Zeit um es genau zu analysieren. Hatte Private Themen.
Heute dacht ich, schaue ich mal und fand den Script.. Durchgeführt und dann konnte ich wieder Adapter Aktualisieren, bis ja bis ich NodeRed (weil angezeigt wurde dass ein Update bereit Steht) versucht habe zu Updaten. Crash, danach ging nichts mehr bis ich den Script wieder gestarted habe, Irgendwas stimmt mit dem NodeRed Paket nicht. aber leider habe ich keine Aktuellen Logs mehr. -
Das sag ich ja auch schon geraume Zeit...
Mit dem node-red-Adapter kommen die Probleme. -
@thomas-braun sagte in Untersuchung: code 25 fehlerlösung:
Mit dem node-red-Adapter kommen die Probleme.
Kann aber nicht sein an sich weil ja schon die Installation des node-red auf die schnauze fällt ... es muss also davor passiert sein ... oder?!
-
Aber der node-red war soweit ich das sehe überproportional häufig auf den Systemen installiert.
-
@thomas-braun sagte in Untersuchung: code 25 fehlerlösung:
Das sag ich ja auch schon geraume Zeit...
Mit dem node-red-Adapter kommen die Probleme.Ich kann nur immer wieder betonen - ich habe Null Probleme, seit dem ich das ganze node_modules Verzeichnis weggeschmissen und wieder habe neu aufbauen lassen. Und in meinen Augen hat das nichts mit NodeRed zu tun. Mag zwar sein, dass es hier - weil mehr als nur eine Bibliothek installiert wird, der Fehler häufiger auftaucht - aber mE hat das was mit alten Versionen in dem node_modules Verzeichnis zu tun, die neu aufgebaut werden müssen. Es scheint aber wohl eine Eigenschaft von npm zu sein, diese alte module nicht wegzuschmeissen, sondern in "."-Verzeichnissen zu sichern. Wenn man nur diese "." - also Backup-Verzeichnisse aufräumt - ist das halt nicht in jeder Umgebung ausreichend.
-
@apollon77
Ja und nein. Auffällig ist ja, dass wenn ich die Korrektur rennen lasse und dann adapter installiere es genau so lange gut geht bis ich wieder Node-Red 4.0 versucht habe. danach ging es nicht mehr. Dann wieder die Korrektur laufen lassen und dann gingen die Adapter wieder. Mittlerweile ist auch nodered 4 installiert und es scheint jetzt wieder zu laufen.Klar kann irgendwas altes oder auch etwas anderes der Grundauslöser sein. Aber das war nur meine Beobachtung. Mal schauen was passiert wenn es wieder adapter updates gibt.
-
@mikehak Also Formal für die die die Issues haben wäre cool VOR und NACH jedem Adapter update mal das Skript laufen zu lassen - ABER das was nur loggt (da gabs auch mal ne variante). Dann sollte man ja sehen können wann da was stehenbleibt
-
@apollon77 sagte in Untersuchung: code 25 fehlerlösung:
ABER das was nur loggt (da gabs auch mal ne variante).
Die kindersichere Version (ohne Löschen):
for i in $(find /opt/iobroker/node_modules -type d -iname ".*-????????" ! -iname ".local-chromium"); do echo ${i%/}; done
-
War mal wieder soweit. 7 Adapter standen zum update an und da morgen Feiertag ist...
Vlt können die Erfahrungen zur Fehlersuche beitragen. Jedenfalls hatte ich bei allen 7 Adaptern nachvollziebar das gleiche Fehlerbild. Bin wie folgt vorgegangen:
- temp Dateien gelöscht. das es ohne nicht geht, habe ich letztens schon erfahren müssen.
iobroker@iobroker:~$ for i in $(find /opt/iobroker/node_modules -type d -iname ".*-????????" ! -iname ".local-chromium"); do rm -rf ${i%%/}; done
- Adapter Update z.B.:
iobroker@iobroker:~$ iob upgrade pushover@3.0.3 --debug
Und jetzt wird es interessant. Fehler:
npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/node-red-node-email/node_modules/encoding-japanese/src npm ERR! dest /opt/iobroker/node_modules/.node-red-node-email-1lk8B7Gi/node_modules/encoding-japanese/src npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/node-red-node-email/node_modules/encoding-japanese/src' -> '/opt/iobroker/node_modules/.node-red-node-email-1lk8B7Gi/node_modules/encoding-japanese/src'
Und zwar bei allen 7 Adaptern IMMER das gleiche Verzeichnis.
-
Nochmal gelöscht. siehe 1.
-
Nochmal update. siehe 2.
Und beim 2.ten mal lief das Update jedesmal ordentlich durch! Und das nachvollziehbar bei jedem der 7 Adapter.
Was hab ich sonst noch getestet?
Da das angemeckerte Verzeichnis ein Node-red Verzeichnis ist, habe ich den NR-Adapter mal vor dem Update gestoppt. Hatte keine Auswirkungen.Den einzigen Unterschied, den ich zwischen den jeweils ersten Update-Versuch und dem nachfolgenden erfolgreichen gesehen habe, war die Tatsache, dass der Adapter nach dem ersten Versuch natürlich gestoppt war.
Also habe ich testweise beim nächsten Adapter diesen vorher von Hand gestoppt. - Keine Auswirkungen;-(Also nach jeweils 2 Versuchen pro Adapter habe ich jetzt alle aktualisieren können. Aber ob ich mir das nochmal antun würde? Hoffe, irgend jemand
findet den Fehler oder einen praktikablen Workaraound.Ach ja, und noch ein Hinweis. Den Node-Red Adapter selber habe ich nicht geupdatet, den habe ich seit einiger Zeit die 4.0.0 ohne Probleme am Laufen.
Gruß
Reiner -
@rewenode Wie gesagt - sind immer unterschiedliche Verzeichnisse - auch wenn es bei Dir das gleiche war - deshalb empfehle ich ja auch das ganze node_modules Verzeichnis neu aufzubauen.
-
@rewenode sagte in Untersuchung: code 25 fehlerlösung:
Jedenfalls hatte ich bei allen 7 Adaptern
Das ist klar. Ein Fehler irgendwo im Tree blockiert ein Update für alle Module.