NEWS
Test ioBroker Fixer mit JSONL-Compression
-
@apollon77 said in Test ioBroker Fixer mit JSONL-Compression:
PS: In nehme an ein "npx @iobroker/fix@latest" tut das gleiche korrekt wenn die iobroker.bat da ist?
Nein, wenn die iobroker.bat da ist, klappt das auch mit @latest nicht.
-
@apollon77
Liegt denn bei linux ein iobroker.bat (bzw. iobroker) script im iobroker Verzeichnis?Und "npx @iobroker/fix@latest" funktioniert (bei mir) auch NICHT wenn iobroker.bat da ist.
EDIT:
Ja ein iobroker liegt im Verzeichnis. Nur ist bei Linux - soweit ich wieß - das cwd typisch NICHT im Pfad enthalten. Und damit störts nicht -
@apollon77 said in Test ioBroker Fixer mit JSONL-Compression:
Aber damit: könnt Ihr mal loggen mit welchen Parametern er die iobroker.bat aufruft? vllt kann man das abfangen und irgendwie umgehen
iobroker.bat wird ohne Parameter aufgerufen, daher kommt es ja zu der "(" Meldung.
Das Problem liegt wie @mcm57 schon geschrieben hat schon vor dem Aufruf von iobroker.bat -
@mcm57 Unter Linux liegt eine iobroker.sh ... aber denke path hat hier keine relevanz
-
@apollon77
wie schon beim GitHub Issue geschrieben: Evtl. können wir unter windows auf die iobroker.bat einfach ganz verzichten.
Muss man halt iob.bat verwenden, die es ja ohnehin schon gibt. -
Auch interessant das der verlinkte artikel davon redet das er ein "fix.bat" finden müsste aber scheinbar ists jetzt "iobroker.bat"
-
@gaspode ja würde ich nicht tun ... wäre eher bei @iobroker-smart-home/fix
oder sowas ... mal mit Bluefox beraten
-
@apollon77
Ich mach für heute mal schluss.Wenn mir wer sagen kann wie ich mit einer "privaten" npx testen kann, experimentier ich gern weiter.
In jedem Fall gibts einen Fehler in iob.bat und iobroker.bat wenn keine Parameter angegeben werden. Das wär zu fixen. Gibts dazu schon ein Issue? Sonst erstell ich eins und mach ev. gleich einen PR dazu (sind ja nur [] rund um %1, %2 bei den IFs). Bin nur nicht sicher in welchen Github die Dateien eigentlich liegen.
-
Auch interessant das der verlinkte artikel davon redet das er ein "fix.bat" finden müsste aber scheinbar ists jetzt "iobroker.bat"
Lt. npm exec docu (https://docs.npmjs.com/cli/v7/commands/npx) gilt:
If no -c or --call option is provided, then the positional arguments are used to generate the command string. If no --package options are provided, then npm will attempt to determine the executable name from the package specifier provided as the first positional argument according to the following heuristic:
If the package has a single entry in its bin field in package.json, or if all entries are aliases of the same command, then that command will be used.
If the package has multiple bin entries, and one of them matches the unscoped portion of the name field, then that command will be used.
If this does not result in exactly one option (either because there are no bin entries, or none of them match the name of the package), then npm exec exits with an error.Da es genau einen bin Eintrag gibt und der iobroker heißt nimmt npx den Befehl "iobroker". Nur nimmt es dann offenbar nicht den Eintrag in package.json als erste Wahl sondern geht mal mit "iobroker" den PATH abklappern. Und da findet es iobroker.bat.
Eigentlich eine perverse Logic - scheint aber so zu sein. Und npm/npx werden wir schwer ändern können. Ev. sollte man das Command e289hjvzufgcru657otß nennen - da ist eine Kollisio unwahrscheinlicher
-
@mcm57 said in Test ioBroker Fixer mit JSONL-Compression:
In jedem Fall gibts einen Fehler in iob.bat und iobroker.bat wenn keine Parameter angegeben werden. Das wär zu fixen. Gibts dazu schon ein Issue?
-
@mcm57 said in Test ioBroker Fixer mit JSONL-Compression:
Wie erhältst du den Screenoutput? Bei mir löst irgendwas ein Clear Screen aus sodass ich am Ende nur die Zeieln 36 bis 40 deines Outputs sehe...
Sorry, eben erst die Frage gesehen. einfach in Datei umleiten:
npx @iobroker/fix > meinLog.txt
-
@gaspode
Danke.Weißt du wer das die ClearScreens absetzt? Wär ev. sinnvoll wenn man die verhindern kann.
Oder wenn iob fix gleich ein Logfile schreibt. Ein DAU wird möglicherweise nicht an die Umleitung denken. Ich wollt sie eigentlich auch vermeidenZusatz:
Gibts unter Windows ein Äquivalent zu tee unter Linux? Wär ja schön wenn man den output auch live sehen kann - insbesondere wenn's mal wo klemmt. -
@mcm57 warum sollte ein User das im Normalfall brauchen?
macht’s nicht so kompliziert
Ansonsten habe wir entschieden mit js-Controller 5 später dieses Jahr die iobroker.bat zu entfernen. Bis dahin ist’s halt noch nicht gescheit funktional. Ist akzeptabel.
-
@apollon77
Was brauchen?
Einen Output des Fixerlaufs? Ich denk schon den würde ein User sehen wollen.
Spätestens wenn er den Outpu des Fixerlaufs posten sollUnd iobroker.bat zu streichen find ich nicht so toll. Aber das ist meine Meinung. Das wird sicher verwirren da dann der Befehl iobroker nicht mehr geht - oder versteh ich da was falsch? Und im Ergebnis wird dann der User ein iobroker.bat anlegen und dann werden erst wieder Fragen auftreten ...
Aber mir wird eh nachgesagt dass ich Probleme kreiere. ergo versuch ich mal still zu sein
Ev. können ja andere Windows User sagen ob / wieoft sie den Befehl iobroker auf der Commandline verwenden. -
@mcm57 wir haben ja noch iob.bat. Die bleibt ;-)) aber ja die interessante Frage ist was die windows User dazu sagen…
-
@apollon77 said in Test ioBroker Fixer mit JSONL-Compression:
aber ja die interessante Frage ist was die windows User dazu sagen…
Ich befürchte, die meisten davon haben diesen Thread noch nicht entdeckt.
Eine Alternative wäre es u.U. auch, unter Windows soweit möglich auf npx zu verzichten.
Der Fixer lässt sich ja so starten:npm install @iobroker/fix node node_modules\@iobroker\fix\lib-npx\install.js fix
Evtl. könnte man ja bei der Installation die benötigten Packages installieren und die entsprechenden node Aufrufe in BAT Files kapseln. in iobroker.bat gibt es ja bereits ein if für den Fixer. Da müsste man den npx Aufruf dann entsprechend ersetzen. Was bräuchte man denn noch? @iobroker/install ist ja noch kein Problem, da vor dem Installieren noch kein iobroker.bat vorhanden ist (trotzdem könnte man das ja in iobroker.bat aufnehmen).
Zum Logging auf der Shell:
@apollon77 said in Test ioBroker Fixer mit JSONL-Compression:macht’s nicht so kompliziert
Ich fände es auch übersichtlicher, wenn der Screen nicht während einem Scriptlauf gelöscht würde. Ist ja nur ein CLS in iobrokerservice.bat. Ich würde sagen, das hat keinen Mehrwert und man könnte es einfach rauswerfen. Ich habe einen entsprechenden PR angelegt, falls ihr das ähnlich seht.
-
@gaspode sagte in Test ioBroker Fixer mit JSONL-Compression:
Ich befürchte, die meisten davon haben diesen Thread noch nicht entdeckt.
Ja das Fragen wir nochmals dedizierter ab
-
@apollon77
Na ja iob ist schon ok. Ich frag mich aber schon warum iobroker.bat entfernt werden soll nur weil der fixer nicht geht. Ich hätte als erstes versucht das Command in package.json umzubenennen.Zumindest hier hab ich nichts davon gelesen
-) dass das nicht sinnvoll ist, das es dort oder dort Sideeffekts hätte
-) dass das irgendwie / wo getestet wurde (und nicht funktioniert hat)Ich (und sicher auch @Gaspode) würden eine Version in der statt iobroker z.b iob-install oder irgendwas andere drinnen steht jederzeit testen.
@Gaspode
Ich habe mal deinen PR upgevotet. Abgesehen von üblichen Reviews an solchen Kernkomponenten wie admin sollte der PR asap gemerged werden da ein cls wenige hier absolut Sinn macht und meiner Ansicht nach null negative Auswirkungen haben kann.
An alle:
Weiß jemand wie man ein npx bauen / starten in einer privaten Umgebung starten kann? Ich könnte ja iobBorker/ioBroker forken und an package.json "rumspielen". Nur wie komm ich dann zu einem npx fähigen paket??? -
@mcm57 said in Test ioBroker Fixer mit JSONL-Compression:
Ich habe mal deinen PR upgevotet. Abgesehen von üblichen Reviews an solchen Kernkomponenten wie admin sollte der PR asap gemerged werden da ein cls wenige hier absolut Sinn macht und meiner Ansicht nach null negative Auswirkungen haben kann.
Ja, ist jetzt aber doch nicht so dringend. Die neue Installationsmethode für Windows ist ja noch im Testbetrieb. Ich denke, da gibt es aktuell wichtigere Baustellen, um die Sache rund zu bekommen.
-
@gaspode
Ja sie ist im Testbetrieb.
ABER sie ist meines Wissens nach die einzige die derzeit funktioniert (unter Windows)
Außerdem heißt gemerged ja nicht sofort eine neue Release ...