NEWS
[How-to] Node.js ioBroker richtig updaten-2021/22 Edition
-
@meister-mopper hatte nur kurzzeitig v16 um zu sehen was auf mich zukommt, bei mir läuft nach wie vor noch v14.
Des weiteren hab ich chromecast v3.0.1 am laufen -
@crunchip sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Des weiteren hab ich chromecast v3.0.1 am laufen
Sehr interessant. Vielleicht ist das was für mich.
Was muss aus Deiner Erfahrung heraus bei der Umstellung beachtet werden? Was muss geändert werden?
-
@meister-mopper du brauchst die zusätzlich genannten Adapter und im sayit musst du entsprechend das Gerät(mac-adresse) auswählen
https://forum.iobroker.net/topic/50036/test-adapter-chromecast-v3-0-x -
@apollon77 Vielen Dank für das How-To, es hat bei mir letztendlich super funktioniert.
Die aktuelle Version wurde nicht installiert, wie der Befehl node -v zeigte.
Ich musste erst ein sudo apt autoremove durchführen, damit das Update auf die version 16 klappte.Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt: libdav1d3 python-colorzero Verwenden Sie »sudo apt autoremove«, um sie zu entfernen. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 1 nicht aktualisiert. xx@raspberrypi:/opt/iobroker $ sudo apt autoremove
Das nochmals ausgeführte sudo apt-get install -y nodejs installierte dann die neue Version 16.x
xx@raspberrypi:/opt/iobroker $ sudo apt-get install -y nodejs Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Die folgenden Pakete werden aktualisiert (Upgrade): nodejs 1 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Der Rest funktionierte ohne Probleme.
-
@ralfth sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Ich musste erst ein sudo apt autoremove durchführen, damit das Update auf die version 16 klappte.
Das hängt aber nicht ursächlich zusammen.
Weder libdav1d3 noch python-colorzero haben Abhängigkeiten zu nodejs. -
@thomas-braun Das dachte ich mir schon.
Es führte allerdings dazu, dass die Installation durchlief und nichts aktualisiert wurde. D.h. der Befehl Node -v brachte immer noch die alte Version 12. Erst nach dem autoremove wurde auch die aktuelle Version installiert und node -v zeigte dann die aktuelle Version 16.15.1 mit npm 8.11.0
Ich habe dafür keine Erklärung, wollte allerdings berichten falls es bei jemanden nicht klappt.
Vielleicht weiß noch jemand was dazu? -
@ralfth sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
h. der Befehl Node -v brachte immer noch die alte Version 12.
dann hast/hattest du wahrscheinlich zwei Versionen parallel in unterschiedlichen Verzeichnissen installiert.
Was immer irgendwann zu Problemen führt -
Da würden mich mal die Meldungen von apt dazu interessieren.
Da muss noch mehr drin gestanden haben, wenn das Upgrade auf nodejs16 nicht funktioniert.Saubere Installation der Vorversion natürlich vorausgesetzt; wenn die schon in falschen Pfaden lag ( /usr/local/bin ) dann kannst du da per apt installieren was du willst, der alte Kram liegt immer vorher im $PATH.
Ist es denn jetzt richtig?
sudo ln -s /usr/bin/node /usr/bin/nodejs uname -m && which nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
anschauen.
-
Kannst du bitte im ersten Post noch ergänzen, dass man wenn möglich Versionen aus github vor dem Upgrade von nodeJS/npm auf eine 'gesetzte' Version aus den Repositories drückt?
Es kommt hier bei 'freifliegenden' git-Installationen zu Problemen bei der Konvertierung in das neue Format der package.json und package-lock usw, wie mir scheint.
-
@thomas-braun Was meinst Du mit „freifliegenden“ Git-Installationen? Dass man in der iobroker-Oberfläche mittels „aus Github installieren“ und hineinkopieren eines Links einen Adapter zieht, der in dieser Version noch nicht in stable oder latest liegt?
Kann ich mir vorab im Terminal auflisten lassen, ob und für welche Adapter das bei mir zutreffen könnte? Ein paar habe ich da sicher auch so geholt, wenn sie etwas behoben, was im stable oder latest noch gefehlt hat.Gruss, Jürgen
-
Gute Frage...
Diese Adapter fliegen im npm tree mit dem Link ins github raus:cd /opt/iobroker npm ls | grep github
Unter npm8 jedenfalls... Kannst du mal schauen, ob bei npm6 ggf. nach was anderem gegrept werden müsste?
-
@thomas-braun Nö, scheint auch unter node 14 mit npm 6 das Richtige rauszuschmeissen. Das kommt bei mir und könnte hinkommen:
├─┬ iobroker.gigaset-elements@0.2.0 (github:matthsc/ioBroker.gigaset-elements#bc086b8c680003eb8126913af6b57c431326acf8) ├─┬ iobroker.govee@0.0.5 (github:nbuenger/ioBroker.govee#0d983c49135b87ac2f88f9d832a6d632c4889606) ├─┬ iobroker.gree_aircon@0.0.1 (github:weltmeyer/ioBroker.gree_aircon#f951ced87269e260475c8a1bc92c48489e0cd421) ├─┬ iobroker.growatt@1.1.15 (github:PLCHome/ioBroker.growatt#d38c92060fcd026f7e65799f331d00272a658e3d) ├─┬ iobroker.mihome-vacuum@3.4.0 (github:iobroker-community-adapters/ioBroker.mihome-vacuum#f363f9ebd91a8a95eb80bf748a4a13463c5084ad) ├─┬ iobroker.roomba@1.1.4 (github:iobroker-community-adapters/ioBroker.roomba#8607c6d5fada398ae75068817e6f499f04eae16a) ├─┬ iobroker.sourceanalytix@0.4.14 (github:DrozmotiX/ioBroker.sourceanalytix#51f520bdc7822da388d7ebea21cc7be636f0eda6) ├─┬ iobroker.vedirect@0.1.2 (github:DrozmotiX/ioBroker.vedirect#aab0c30e9ba034e8632d563f81fc36b32790ce93) │ │ ├── github-from-package@0.0.0
Sind alles Adapter, die ich ziemlich sicher "direkt geholt" habe, da sie in den repos zu dem jeweiligen Zeitpunkt nicht die aktuelle Version boten, die einen Fehler ausmerzten oder eine Funktion boten, die ich wollte/brauchte.
Dann bräuchte ich da jetzt bei denen nur zu schauen, ob es in stable oder latest mittlerweile mindestens die Version gibt, diese dann nochmal "korrekt" im GUI installieren und wäre dann safe?Gruss, Jürgen
-
@wildbill sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Dann bräuchte ich da jetzt bei denen nur zu schauen, ob es in stable oder latest mittlerweile mindestens die Version gibt, diese dann nochmal "korrekt" im GUI installieren und wäre dann safe?
Jein, wenn die Versionsnummer aus den Repos die git-Version übersteigt würde mit einem
iobroker upgrade
die Repo-Version bevorzugt installiert.
Das dürfte sich eigentlich nur um Adapter handeln, die entweder noch gar nicht via Repo veröffentlicht worden sind oder deren Versionierung >= der Repo-Version ist.Den govee hab ich z. B. auch drin, der ist ja nur via github zu ziehen.
Den würde ich vielleicht komplett deinstallieren und erst nach dem Sprung auf npm8 wieder reinziehen.Den mihome-vacuum würde ich zuvor auf die via Repo verfügbare Version drücken. Im Expertenmodus kann man ja im Admin gezielte Versionen rauspicken.
[Edit:] Der mihome-vacuum ist in diesen Versionen verfügbar:
github: 3.4.1 latest: 3.4.1 for 20 days stable: 3.3.3 for 5 months
deine 3.4.0 aus git ist also schon von latest/beta überlebt.
-
@thomas-braun Alles klar. Dann werde ich das die Tage mal angehen. Der mihome kommt via latest als 3.4.1, dann könnte ich den ja hochziehen. Govee brauche ich ja gar nicht mehr, da auf Hue Ambilight umgestellt.
Dann scheint das alles überschaubar und ich bin bester Hoffnung.
Zumindest wissen wir jetzt, das auch mit node14/npm6 alles vorab geklärt werden kann, was zu Problemen führen könnte.
Dank Dir!Gruss, Jürgen
-
@wildbill sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Dann scheint das alles überschaubar
Das sollte eigentlich bei jeder Installation überschaubar sein.
Leider hat sich aber in den letzten Wochen / Monaten warum auch immer ein Trend dazu abgezeichnet alles mögliche ohne Not aus dem github zu fischen. Auch wenn es 'ordentliche' Versionen aus einem Repo gab. -
@thomas-braun Bei mir ist es eher über die letzten 1-2 Jahre. Das Problem ist halt doch ab und an, dass es Entwickler gibt, die zwar in Github ab und an Fehler beheben oder neue Funktionen einbauen, es aber über lange Zeit nicht hinbekommen, das in stable oder wenigstens latest zu pushen. Da bleibt Dir ja fast nichts übrig, als vie Github zu installieren, wenn Dich Fehler im Log nerven oder fehlende Funktionalität nicht alles ermöglicht, was machbar ist... Zumindest (bei mir) wundert es mich nicht sooo sehr, dass sich da was ansammeln könnte.
Eine Version mittels "Eine bestimmte Version installieren" auf der Adapter-Seite behebt das "Problem" übrigens auch, selbst wenn es die gleiche Version ist, die mal via Github gezogen wurde.
Gruss, Jürgen# -
Ja, das ist auch ein 'Problem'. Developer sollten schauen, die drei Zweige nicht zuuuu sehr auseinander driften zu lassen. Wenn es attraktiver erscheint sich eine Alpha-Version aus git zu angeln als eine veröffentlichte Version ist auch keinem geholfen. Die github-Installationen haben ja auch noch ein paar andere 'Eigenheiten' die bei regulären Adaptern nicht auftauchen.
-
@thomas-braun Jetzt muss ich doch nochmal "blöd" fragen. Für die folgenden drei Adapter gibt es im Repo wohl noch keine Kandidaten:
├─┬ iobroker.gree_aircon@0.0.1 (github:weltmeyer/ioBroker.gree_aircon#f951ced87269e260475c8a1bc92c48489e0cd421) ├─┬ iobroker.sourceanalytix@0.4.14 (github:DrozmotiX/ioBroker.sourceanalytix#51f520bdc7822da388d7ebea21cc7be636f0eda6) ├─┬ iobroker.vedirect@0.1.2 (github:DrozmotiX/ioBroker.vedirect#aab0c30e9ba034e8632d563f81fc36b32790ce93)
Wie soll man nun damit umgehen? Gree und Vedirect könnte ich ja noch löschen und danach wieder neu von Github holen und einrichten. Aber wenn ich den Sourceanalytix lösche, dann gehen mir ja meine ganzen Datenpunkte und damit die erfassten Daten verloren. Der erstellt ja quasi so was wie eine History die dann einfach weg wäre?!
Das ist übrigens das, was ich oben meinte. Den gibt es schon eine ganze Weile, er läuft gut, es gitb ab und an Updates, aber man muss ihn zwingend via Github holen, weil er im repo nirgends drin ist.Gruss, Jürgen
-
@wildbill sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
aber man muss ihn zwingend via Github holen, weil er im repo nirgends drin ist.
????
github: 0.4.14 latest: 0.4.14 for 3 months stable: -.-.-
-
@homoran Eben gemerkt, dass er mir angezeigt wird, wenn ich auf latest gehe. Da ich aber normalerweise nur auf stable unterwegs bin, und nur das via Github hole, was ich unbedingt brauche/haben will, habe ich ihn nicht gesehen. Die Idee kam mir aber eben auch, mal im latest zu schauen.
Dennoch ändert sich aber nix an der Aussage, dass es bei diesem Adapter zum Beispiel längst auch im stable was geben sollte/müsste, da er ja doch schon einige Zeit auf dem Buckel hat und eigentlich gut läuft.Gruss, Jürgen