NEWS
Fehler 25, 217 oder "ENOTEMPTY" bei Adapter-Install/Update
-
In letzter Zeit kommt es vermehrt bei Nutzung von npm 8 (oft in Verbindung mit einem Update auf Node.js 16.x oder höher) zu einem "Error 25" oder "Error 217" bei der Installation oder Update von Adaptern.
Um hier Details zum Fehle zu finden bitte den Installations- bzw. Update Befehl bitte mit "--debug" neu ausführen.
Wenn dann eine Meldung kommt wie
npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/argparse npm ERR! dest /opt/iobroker/node_modules/.argparse-S5zfMSQi npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/argparse' -> '/opt/iobroker/node_modules/.argparse-S5zfMSQi'
hat npm selbst (das hat mit ioBroker nichts zu tun!) irgendwann einmal temporäre Verzeichnisse zurückgelassen. Warum und wann das passiert haben wir bisher noch nicht rausgefunden (wer es also reproduzieren kann bitte melden!).
Jetzt kann man anfangen und jedes angemeckerte Verzeichnis einzeln löschen, oder ein cleveres Kommando von @Thomas-Braun nutzen:
Am schnellsten geht das per folgendem Einzeiler.
siehe nächsten Post
Bitte den Befehl unbedingt kopieren und nicht abtippen!!
Ingo
-
Update 2.4.2023
Das ganze ist ab sofort im ioBroker Fixer inkludiert, daher sollte unter Linux
iob fix
reichen!!(früherer) manueller Befehl:
Nach weiterer Recherche von @liv-in-sky und @Thomas-Braun sollte diese Version jetzt funktionieren
find "/opt/iobroker/node_modules" -type d -iname ".*-????????" ! -iname ".local-chromium" -exec rm -rf "{}" \; &> /dev/null
-
für alle, die "nur mal sehen" wollen, hier die unscharfe Version:
find "/opt/iobroker/node_modules" -type d -iname ".*-????????" ! -iname ".local-chromium" -exec echo {} \;
-
@homoran Test -> push
-
pushing it