NEWS
[How-to] Node.js ioBroker richtig updaten-2021/22 Edition
-
@brainbug Nein! Ich habe mal https://github.com/iobroker-community-adapters/ioBroker.info/issues/458 angelegt das der Info Adapter diese Empfehlung lässt
-
@chaot sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
ls -la /opt/iobroker/package-lock.json
dito, meine vom 3.Juni 2019
-
Wie gesagt früher haben wir die package-lock Nutzung deaktiviert ... Wer eine solch "alte" Installation hat der hat das noch so ... geht auch alles - dauert manchmal länger bei npm Installs. Es hat noch keiner wirklich getestet was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert. Wenn dazu jemand Lust hat bitte melden dann gehen wir das mal Strukturiert an
-
@apollon77 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Wie gesagt früher haben wir die package-lock Nutzung deaktiviert ... Wer eine solch "alte" Installation hat der hat das noch so ... geht auch alles - dauert manchmal länger bei npm Installs. Es hat noch keiner wirklich getestet was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert. Wenn dazu jemand Lust hat bitte melden dann gehen wir das mal Strukturiert an
Nein - scheint also alles OK zu sein, dann brauche ich das auch nicht. Wenn ihr das abgeschaltet habt und auch alles so geht, dann sehe ich keinen Grund, warum man das nun einschalten müsste. Ihr müsstet Euch halt nur bewusst sein, dass auch alte Erstinstallationen immer schön aktuell gehalten werden. Dann ist also nichts faul an meiner Installation und freue mich, dass alles wieder so performant läuft. Wie gesagt, ich hatte nur eine so alte Datei aus 2019 die ich gelöscht habe, da es erstens Fehler bei npm list geworfen hat und eine Installation unendlich lange gedauert hat. Jetzt geht das bei mir ratz fatz.
-
@mickym sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Wenn ihr das abgeschaltet habt
hattet! früher.
in aktuellen Installationen wird die Funktionalität genutzt. -
@homoran das heisst, wieder aktivieren bzw wie?
-
@crunchip Siehe meine Worte 3 Posts weiter oben:
Es hat noch keiner wirklich getestet was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert. Wenn dazu jemand Lust hat bitte melden dann gehen wir das mal Strukturiert an
-
@apollon77 hatte ich gelesen, aber nicht verstanden wie das genau gemeint war.
Bzw fehlt das nötige Hintergrund Wissen für was dies früher aktiv war, dann deaktiviert und in neuen Installationen wieder genutzt wird. -
Nicht dass ich das vollständige Wissen dazu hätte!
So wie ich das verstanden habe soll das package lock dafür sorgen, dass einzelne Pakte auf einer definierten Version "eingefroren" werden und nicht zu Problemen führt, wenn Adapter diese Pakete als Abhängigkeiten besitzen und möglicherweise deren neuere Versionen dann zu Problemen bei dem Adapter führen könnten.
Ob und wie diese package-lock funktion aktiviert werden kann müsste @apollon77 sagen, aber wie er schreibt wäre das erst einmal nur in einzelnen Testinstallationen sinnvoll, um zu sehen
@apollon77 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert.
-
@crunchip
Da ich weiß, dass wir eine (annähernd) ähnliche Konfiguration haben würde es mich interessieren, ob Du nach dem Upgrade auf nodeJs 16 auch ein Problem mit dem chromecast Adapter hast.Es werden bei mir per Skript keine Radiosender abgespielt.
Ein Issue habe ich bereits in github aufgemacht.
-
@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