NEWS
Node.js von 10.16.0 auf 12.20.0 updaten funktioniert nicht
-
Hallo Leute,
Ich hab mal wieder ein kleines Problem.
Versuche gerade mein Node.js von 10.16.0 auf 12.20.0 upzudaten.(Synology und ioBroker im Docker Container)
Hab meinen ioBroker gestoppt und
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejsausgeführt.
## Run `sudo apt-get install -y nodejs` to install Node.js 12.x and npm ## You may also need development tools to build native addons: sudo apt-get install gcc g++ make ## To install the Yarn package manager, run: curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt-get update && sudo apt-get install yarn root@ioBroker:/opt/iobroker# sudo apt-get install -y nodejs sudo: Hostname ioBroker kann nicht aufgelöst werden Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig nodejs ist schon die neueste Version (12.20.0-1nodesource1). 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 110 nicht aktualisiert. root@ioBroker:/opt/iobroker#
Es ist auch alles durchgelaufen jedoch hab ich zum Schluss die Meldung erhalten das nodejs schon die neueste Version ist und nichts installiert wurde.
Jedoch wenn ich meinen ioBroker dann wieder starte habe ich noch immer die 10.16 installiert.Kann mir jemand bitte sagen was ich hier falsch mache ?
vielen lieben Dank schon im Voraus
lg
mandragora -
@mandragora sagte in Node.js von 10.16.0 auf 12.20.0 updaten funktioniert nicht:
Synology und ioBroker im Docker Container
Stopp! Bei Containern niemals irgendwelche Updates durchführen. Das kommt in den wenigsten fällen gut. Es genügt wenn du den Container neu buildest (respektive "pull" und "build"), dann hast du von allem das neuste.
Bei Synology glaube ich, musst du einfach das "Image" aktualisieren und danach deinen Container neu starten (aber vielleicht kann hier noch jemand mit einem Synology helfen).
-
Hallo @UncleSam
OK.. Danke für den Hinweis.
Ich muss mir das ansehen wo ich das im Docker machen kann.
Bin mir das jetzt ein wenig unsicher.
Eventuell wie du schon schreibst hat ja jemand da noch einen Hinweis für mich wie ich das sicher machen kann.Danke auf jeden Fall schon mal für deine Warnung.
LG
mandragora -
@mandragora Das könnte helfen: https://community.synology.com/enu/forum/1/post/123646
-
@UncleSam sagte in Node.js von 10.16.0 auf 12.20.0 updaten funktioniert nicht:
@mandragora sagte in Node.js von 10.16.0 auf 12.20.0 updaten funktioniert nicht:
Synology und ioBroker im Docker Container
Stopp! Bei Containern niemals irgendwelche Updates durchführen. Das kommt in den wenigsten fällen gut. Es genügt wenn du den Container neu buildest (respektive "pull" und "build"), dann hast du von allem das neuste.
Bei Synology glaube ich, musst du einfach das "Image" aktualisieren und danach deinen Container neu starten (aber vielleicht kann hier noch jemand mit einem Synology helfen).
Dem kann ich widersprechen, jedenfalls mache ich Updates mit der Konsole seit ich Docker(buanet-image) nutze. Wenn allerdings das Image schon so alt ist, würde ich auch ein Update des Image machen. und dieses dann mit dem alten Datenverzeichnis von iobroker mappen. Ich nutze QNAP, da sollte es meiner Meinung nach aber keine Unterschiede im Handling geben. Das neue Image überschreibt hier(QNAP) nicht das alte, man muss es neu einrichten das alte Image dann natürlich vorher stoppen. Wichtig wie immer: vorher Backup machen
-
@fastfoot sagte in Node.js von 10.16.0 auf 12.20.0 updaten funktioniert nicht:
jedenfalls mache ich Updates mit der Konsole seit ich Docker(buanet-image) nutze
Was für Updates und wie? Nodejs kannst du ja so sicher nicht updaten, oder? JS Controller mag gehen, Adapter Updates auf jeden Fall auch.
-
@UncleSam sagte in Node.js von 10.16.0 auf 12.20.0 updaten funktioniert nicht:
@fastfoot sagte in Node.js von 10.16.0 auf 12.20.0 updaten funktioniert nicht:
jedenfalls mache ich Updates mit der Konsole seit ich Docker(buanet-image) nutze
Was für Updates und wie? Nodejs kannst du ja so sicher nicht updaten, oder? JS Controller mag gehen, Adapter Updates auf jeden Fall auch.
Nein, einfach 'Alles', also OS und iobroker(wobei ich den iobroker meist über den admin update). Aktuell interessiert mich die Internationalisierung, welche erst ab Node 13 funktioniert. Das gibt es aber im Image noch nicht, also selbst auf die 14.xx updaten. Konkretes Beispiel dazu
- in die Konsole wechseln
- iobroker stoppen ==> pkill -u iobroker
- Aktualisierung OS ==> apt update && apt -y upgrade
- Download Node 14.xx ==> curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
- Node 14 installieren ==> apt -y install nodejs
- Neustart Container
2. Beispiel Aktualisierung npm
- in die Konsole wechseln
- iobroker stoppen ==> pkill -u iobroker
- Aktualisierung OS ==> apt update && apt -y upgrade
- Wechsel Verzeichnis nach / (gibt sonst nachfolgend Fehler, keine Ahnung warum) ==> cd /
- Update npm ==> npm install -g npm
- Neustart Container
-
@fastfoot OK, kann man machen, ist aber definitiv nicht die Idee von (Docker) Containern. In einem Container sollte man niemals am OS oder den installierten Paketen herum schrauben (ausser in einem Dockerfile). Dafür sind Image Updates da. Sonst kannst du gleich eine VM nehmen.
Und das gilt nicht speziell für ioBroker, sondern das ist die Grundidee von Docker.