NEWS
[gelöst] ioBroker restore -> TypeError: name.trim is not a function
-
@SayAndre sagte in ioBroker restore -> TypeError: name.trim is not a function:
die Anleitung auf Schimmermedia vollzogen
Und die ist korrekt?
Was sagt Herr Schimmer denn zu dem Problem? -
Die Anleitung war für ein älteren Beelink gedacht, allerdings haben mehrere User in dem Beitrag auch den BT3 Pro im Einsatz und das ohne Probleme. Ich vermute Probleme beim zusammenspiel vom neuesten Debian und dem iobroker. Aber ich bin absoluter Laie und suche hier lediglich nach Hilfe.
Herr Schimmer hat noch nicht auf meinen 12 Stunden alten Beitrag reagiert.
-
Hier ist die offizielle Anleitung:
https://www.iobroker.net/#de/documentation/install/linux.mdich kenne nicht alle Fremdanleitungen, weiß aber, das einige veraltet sind.
Ich habe viele Cross restores mit diversen SBC und auch mit NUCs nativ und mit VM gemacht.
Alles indem ich immer das selbe Backup auf jedwelche Plattform wiederhergestellt habe.Insofern kann man IMHO nicht sagen, dass es ein Bug ist.
Leider weiß ich auch nicht, ob dein Backup funktionabel ist, oder eventuell korrupt.
Wie wurde es denn erzeugt? Und wie wurde auf dem Quellrechner ioBroker installiert? -
Quellsystem: Raspberry 3B mit raspbian stretch lite
Node.js: v8.15.0
NPM: 6.4.1Dort über putty ein backup erstellt, dass dann über filezilla auf die debian umgebung gezogen.
Müssen die Node/NPM Versionen gleich sein für ein korrektes Backup?Zielsystem: Beelink BT3 Pro
Node.js: v8.16.0
NPM: 6.9.0 -
@Homoran sagte in ioBroker restore -> TypeError: name.trim is not a function:
wie wurde auf dem Quellrechner ioBroker installiert?
Auch nach der Anleitung von Schimmermedia?
-
@Homoran sagte in ioBroker restore -> TypeError: name.trim is not a function:
@Homoran sagte in ioBroker restore -> TypeError: name.trim is not a function:
wie wurde auf dem Quellrechner ioBroker installiert?
Auch nach der Anleitung von Schimmermedia?
Nein, nach dieser:
https://github.com/ioBroker/ioBroker/wiki/Installation -
@SayAndre sagte:
/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:568
if (parseInt(name.trim(), 10).toString() === name.trim().toString()) {Welche Version des js-controllers ?
-
1.5.12
-
@SayAndre sagte:
1.5.12
Da sollte .trim() in den Zeilen 568 und 571 der Datei /opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js nicht mehr enthalten sein, denn es wurde schon am 25.08.2018 laut Github-History gefixt.
-
@paul53 sagte in ioBroker restore -> TypeError: name.trim is not a function:
@SayAndre sagte:
1.5.12
Da sollte .trim() in den Zeilen 568 und 571 der Datei /opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js nicht mehr enthalten sein, denn es wurde schon am 25.08.2018 laut Github-History gefixt.
tja ist aber da... kann ich das manuell fixen?
-
@SayAndre sagte:
ist aber da...
Ja, bei mir (1.5.9) ebenfalls, obwohl es nicht sollte. Allerdings benutze ich Restore nicht. Anscheinend erfolgt der Update des js-controllers nur unvollständig.
@SayAndre sagte in ioBroker restore -> TypeError: name.trim is not a function:
kann ich das manuell fixen?
Mit dem WinSCP-Editor oder Notepad++ kannst Du .trim() löschen (2 mal in Zeile 568, einmal in Zeile 571) - einen Versuch ist es wert.
-
@paul53 sagte in ioBroker restore -> TypeError: name.trim is not a function:
Mit dem WinSCP-Editor oder Notepad++ kannst Du .trim() löschen (2 mal in Zeile 568, einmal in Zeile 571) - einen Versuch ist
Ich hab jetzt einfach mal von github die aktuelle setupBackup.js per FileZilla rüberkopiert... das hat schonmal nicht funktioniert...
Die Zeilen dort auskommentieren ist auch eine schlechte idee, weil diese den Dateinamen aufbereiten behaupte ich mal. Kann man trim() durch split() ersetzen? -
@SayAndre sagte:
Kann man trim() durch split() ersetzen?
Nein, .trim() löscht nur Leerzeichen.
@SayAndre sagte in ioBroker restore -> TypeError: name.trim is not a function:
Die Zeilen dort auskommentieren
Die Zeilen werden gebraucht. Wie ich geschrieben habe, nur .trim() an 3 Stellen löschen, wie bei der Änderung auf Github am 25.08.2018.
-
@paul53 sagte in ioBroker restore -> TypeError: name.trim is not a function:
@SayAndre sagte:
Kann man trim() durch split() ersetzen?
Nein, .trim() löscht nur Leerzeichen.
@SayAndre sagte in ioBroker restore -> TypeError: name.trim is not a function:
Die Zeilen dort auskommentieren
Die Zeilen werden gebraucht. Wie ich geschrieben habe, nur .trim() an 3 Stellen löschen, wie bei der Änderung auf Github am 25.08.2018.
oh gott dann hab ich gerade beim suchen ja den totalen mist gelesen bzgl. der trim() funktion.
System successfully restored!
Du bist mein Held des Tages Paul! Danke!
-
Vielen Dank, hat mir auch geholfen. Hab zwei frische Installationen einmal unter Armbian und einmal unter Debian Stretch gemacht. Beide über das Installationsskript und hatte beides mal den Fehler. Das entfernen von trim hat das Problem gelöst.
-
@SayAndre said in [gelöst] ioBroker restore -> TypeError: name.trim is not a function:
Hallo zusammen,
habe eben dasselbe Problem.
Trotz js-controller 1.5.14 tritt das immer noch auf.
Sollte doch in 1.5.12 schon korrigiert sein. -
@jhg sagte in [gelöst] ioBroker restore -> TypeError: name.trim is not a function:
Sollte doch in 1.5.12 schon korrigiert sein.
Ja.
Hast du denn das Workaround trotzdem versucht?
Hast du neu installiert oder auf 1.5.12 upgedatet?
-
Ich habe das System komplett neu installiert.
War aufgrund einer defekten SD-Karte notwendig.Der oben beschriebene Workaround funktioniert ein Stück weit.
Nun erscheint die Fehlermeldung:
host.ioBroker-Master Cannot find extracted file from file "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json" -
@jhg
war das ein restore?Dann war ggf. das Backup schon nicht mehr i.O.
-
Eben nochmal nachgeschaut.
Den Ordner /opt/iobroker/node_modules/iobroker.js-controller/tmp/backup gibt es nicht.Es gibt aber den Ordner: /opt/iobroker/node_modules/iobroker.js-controller/tmp/backups
Der ist allerdings leer.