NEWS
Adapter wird 2x installiert
-
@AlCalzone Hallo, anbei der Link: https://github.com/Baumert7269/ioBroker.repetierserver.git Vielen Dank
-
@Baumert Ööööööhh. Das hab ich noch nie gesehn. Ich frag mal die anderen Entwickler, ob die eine Idee haben
-
@Baumert Probier mal mit folgender .travis.yml:
https://github.com/ioBroker/ioBroker.template/blob/f506a2a84b81fe5e701b941725c20dc9f694ac76/JavaScript/.travis.yml
und folgende Einträge in package.json
https://github.com/ioBroker/ioBroker.template/blob/f506a2a84b81fe5e701b941725c20dc9f694ac76/JavaScript/package.json#L47-L49 -
@Baumert Package-lock ist out of sync mit der Package.json. Einfach mal npm install machen und Package lock updated hochladen
-
@apollon77 @AlCalzone so, ich habe die oben angegebene .travi.yml übernommen, die 3 Einträge L47 - L49 in meine package.json übernommen, noch einmal npm install im Verzeichnis 'iobroker.repetierserver' durchgeführt und die betroffenen Datein hochgeladen:
Bei npm istall kommt folgende Rückmeldung:
Bei Travis sieht es nicht besser aus:
Wenn ich bei Travis mal in die BuildJobs reinschaue, tauchen immer wieder die Rückmeldungen:
auf!
Muss ich hier noch etwas anlegen oder werden diese TEstfiles selbstständig angelegt?
-
@Baumert die musst du anlegen.
du kannst ins template adapter template reinschauen oder auch in meine adapter.
die funktionieren mit travis und appveyor. links stehen in der signatur.
travis hat bei mir ein problem mit windows, aber dafür ist ja appveyor da -
@OliverIO Es tut mir ja echt Leid, hat wieder nicht funktioniert...
Ich habe jetzt mal openligadb als Vorlagen genommen - .travis.yml übernommen, package.json und io-package.json soweit übernommen, die Testdateien im Ordner 'test' übernommen, npm install erneut ausgeführt, commitet und gepushed und:
In den Buildjobs taucht immer die gleiche Meldung auf:
Sieht aus als wenn ich jetzt immer beim Code ELIFECYCLE rausflieg.
´
-
@Baumert kannst du link zum ganzen buildlog schicken?
hast du die devdependencies im package.json -
@OliverIO Hier mal ein Link https://www.travis-ci.org/Baumert7269/ioBroker.repetierserver/jobs/646550741
Ja, die devdependencies sind im package.json.Ich muss jetzt mal dazu sagen, dass ich aus einer anderen Programmierwelt komme, mich hier schwer tue und auch noch nicht genau weiß, was hier alles benötigt wird - wird aber noch...
-
@Baumert ich habs auch erst lernen müssen
-
@Baumert mach mal
npm i requestim build log weiter oben steht ziemlich prominent 2x
Error: Cannot find module 'request'
-
@Baumert Grundsätzlich sollten alle Pakete, die während der Laufzeit des Adapters benötigt werden (require!) in den
dependencies
auftauchen. Ausgenommen sind die Node.js Kernmodule (https://nodejs.org/api/). -
@AlCalzone @OliverIO Der 'request' Error ist weg, dafür ist jetzt ein 'replace' Error vorhanden.
Ich habe jetzt mal npm i replace durchgeführt 'replace 1.1.5' hinzugefügt. Aktuell läuft ein weiterer Test.
Ich werde jetzt so mal weitermachen... -
@Baumert hast du eigentlich einen debugger? weil die fehler über das buildlog von travis finden zu lassen dauert ja ewig.
die fehler müssten bei dir doch schon beim starten des adapters auftreten. -
@OliverIO Ich habe den Adapter mit VS-Code erstellt und damit auch debuggt. Hat alles einwandfrei funktioniert. 0Warnings und 0 Errors und sonst keine Meldungen.
-
@OliverIO bei dem replace fehler meckert er die zeile an
printerpath = 'IP_' + repetierIP.replace(/./g, '_') + '.' ;
ich vermute, das die variable null ist oder kein string.
dann gibt es replace natürlich nicht -
@OliverIO sowas musst du vorher prüfen. Beim programmieren niemals davon ausgehen das werte schon so sind wie du sie erwartete wenn du sie nicht selbst genau so gesetzt hast. Vor allem wenn die vom User eingegeben sein könnte oder so.
-
@OliverIO Ich habe die Variablen so angelegt:
// Hauptpfade
let printerpath ;
let serverpath ;Ich werde es jetzt mal so anlegen:
// Hauptpfade
let printerpath = ' ' ;
let serverpath = ' ' ; -
Ich weiß nicht wie deine Entwicklungsumgebung eingerichtet ist,
aber lese dir das mal durchhttps://forum.iobroker.net/topic/22208/lösung-für-den-fehler-eisgit
und meinen Beitrag hier
https://forum.iobroker.net/topic/4201/adapter-debuggen-mit-chrome/2
-
@Baumert du musst dran denken, das auf travis und auch beim benutzer der adapter zum ersten mal läuft und der benutzer noch nie eine konfiguration eingegeben hat.
der adapter schmiert ab, weil die variablen mit der konfig nicht gesetzt sind.
das musst du im programmcode entweder abfangen oder sinnvolle vorgaben in io-package.json machen.bei mir ab zeile 125 habe ich soetwas gemacht
https://github.com/oweitman/ioBroker.squeezeboxrpc/blob/96e74d62f9d76586965052edcbc66645acf801ca/io-package.json#L125
das sind Standardvorgaben, die der Benutzer dann im Konfigdialog abändern kann.