NEWS
Cannot find module 'csv-parse'
-
Leider immer noch das gleiche Problem.
Bei mir liegen die verschiedenen csv-Ordner (csv, csv-generate, csv-parse, csv-stringify) an zwei Stellen. Einmal unter "/opt/iobroker/node_modules/" und einmal unter "/opt/iobroker/node_modules/iobroker.javascript/node_modules".
Kann das das Problem sein? Kann ich die Ordner unter /opt/iobroker/node_modules/ einfach löschen?
-
Kann ich die Ordner unter /opt/iobroker/node_modules/ einfach löschen? `
Ich würde es deinstallieren: Im Ordner /opt/iobroker https://docs.npmjs.com/cli/uninstall.html -
Ok, nun habe ich nur noch an der richtige Stelle die entsprechenden csv-Ordner und ich bin einen Schritt weiter.
Nach Neustart vom Javascript-Adapter und Anstarten vom Skript kommt nun der Fehler:
error javascript.0 script.js.Datei: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../csv-parse'
Was sucht er denn da im lib-Ordner? Der sieht folgendermaßen bei mir aus:
-rw-rw-rw- 1 pi pi 2531 Oct 26 1985 consts.js -rw-rw-rw- 1 pi pi 3860 Oct 26 1985 convert.js -rw-rw-rw- 1 pi pi 6552 Oct 26 1985 eventObj.js -rw-rw-rw- 1 pi pi 32488 Oct 26 1985 javascript.d.ts -rw-rw-rw- 1 pi pi 13817 Oct 26 1985 mirror.js -rw-rw-rw- 1 pi pi 13042 Oct 26 1985 patternCompareFunctions.js -rw-rw-rw- 1 pi pi 109079 Oct 26 1985 sandbox.js -rw-rw-rw- 1 pi pi 11588 Oct 26 1985 scheduler.js -rw-rw-rw- 1 pi pi 675 Oct 26 1985 tools.js -rw-rw-rw- 1 pi pi 2279 Oct 26 1985 utils.js -rw-rw-rw- 1 pi pi 1789 Oct 26 1985 words.js
Mich wundern auch die "/../../" in der Fehlermeldung. Sucht er da noch nach anderen Ordnern, die er nicht findet?
-
Irgendwie muss NPM wohl mit der doppelten Installation des Moduls durcheinander gekommen sein. Versuche nochmal
@paul53:Lösche noch mal das NPM-Modul aus der JS-Konfiguration, dann speichern und danach wieder eintragen. `
-
Hatte ich auch schon versucht, leider ohne Erfolg.
Habe sogar ein
sudo npm --force cache clean
gemacht, aber auch das bringt nichts…
Wenn du keine andere Idee mehr hast, würde ich ein Backup einspielen (geht ja zum Glück recht fix und dann nochmal im JavaScript-Adapter "csv-parse" eintragen, ohne vorher etwas mit npm zu machen.
-
würde ich ein Backup einspielen (geht ja zum Glück recht fix und dann nochmal im JavaScript-Adapter "csv-parse" eintragen, ohne vorher etwas mit npm zu machen. `
Gute Idee. -
Hat leider alles nichts gebracht… :?
Was ich komisch finde, dass nach dem Restore trotzdem noch die csv-Ordner unter
/opt/iobroker/node_modules/iobroker.javascript/node_modules
vorhanden waren. Ich dachte, die installiert er erst, wenn ich das im Javascript-Adapter eintrage, oder?
Komisch nur, dass es bei dir funktioniert. Was kommt denn bei dir raus, wenn du ein "find . -name csv" in /opt/iobroker ausführst?
./node_modules/iobroker.javascript/node_modules/csv-stringify ./node_modules/iobroker.javascript/node_modules/csv ./node_modules/iobroker.javascript/node_modules/csv-generate ./node_modules/iobroker.javascript/node_modules/csv-parse ./node_modules/iobroker.javascript/node_modules/csv-parse/samples/fs_read.csv
Ansonsten hast du auch nur im Adapter das "csv-parse" eingetragen und das Skript gestartet, oder?
:?:
Was wäre noch ein Versuch? Den Javascript-Adapter löschen, damit erstmal der ganze Müll weg ist und dann den Adapter neu installieren? Mache ich damit andere Sachen kaputt?
-
Was ich auch noch ziemlich merkwürdig finde.
Meine Skriptestruktur sieht folgendermaßen aus:
Unter Objekte wird es erstmal nicht angezeigt:
Erst wenn ich dort in den Expertenmodus umschalte, wird es angezeigt…?
-
-
Noch jemand eine Idee, wie ich das csv-parse Modul eingebunden bekomme?
Habe sogar schon den Javascript-Adapter neu installiert, sodass nun alles sauber ist. csv-parse ist nur noch unter folgenden Verzeichnissen zu finden:
/opt/iobroker/node_modules/iobroker.javascript/node_modules/csv-parse /opt/iobroker/node_modules/iobroker.javascript/node_modules/csv-parse/samples/fs_read.csv
Dennoch kommt folgender Fehler:
Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../csv-parse'
Ich weiß nicht, was er da mit dem lib-Ordner machen will?
Ich hoffe, einer weiß noch eine Lösung oder Versuche, die man noch machen könnte.