NEWS
[How-to] Node.js für ioBroker richtig updaten
-
Einfach keine Zeile für nodejs@20 anlegen.
Die Versionszweige kommen immer noch aus separaten Einträgen.ODER man pinnt ein nodejs@18 fest. Ging per 'apt pinning'
-
Also das Installieren hat sich geändert.
Man soll das Script nicht mehr benutzen:Alt:
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs
Neu
sudo apt install -y ca-certificates curl gnupg curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg NODE_MAJOR=18 echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list sudo apt-get update && sudo apt-get install nodejs -y
MOD-EDIT: Code korrigiert!
quelle: https://deb.nodesource.com/
mit
NODE_MAJOR=18
kann man die Version bestimmen.Das hier ist aber nur mit Bookworm getestet. NPM wird nur mit Version 20 mitinstalliert. Unter Buster ist bei mir eine 12 statt der 18 installiert worden.
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
Man muss nun das "Key verfahren "benutzen:
Nee, das ist nicht die Änderung, das wurde 'schon immer' verwendet.
Die Änderung ist im wesentlichen, das nicht mehr für jedes Distributions-Release ein deb gebaut wird sondern ein generisches, das auf alles passt, was die grundlegendsten Bedingungen erfüllt.
Gilt analog für yum / rpm-basierte Paketmanagementsysteme. -
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
Neu
sudo apt install -y ca-certificates curl gnupg curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg NODE_MAJOR=18 echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list sudo apt-get install nodejs npm -y
quelle: https://deb.nodesource.com/
mit
NODE_MAJOR=18
kann man die Version bestimmen.Das hat bei mir nicht funktioniert.
The following packages have unmet dependencies: libnode72 : Conflicts: nodejs-legacy nodejs : Conflicts: npm E: Unable to correct problems, you have held broken packages. root@iobroker:/opt/iobroker#
Muss ich irgendwas deinstallieren?
Habe zwischenzeitlich diesen Link gefunden.
https://github.com/Chia-Network/chia-blockchain/discussions/9673Nach iobroekr start habe ich aber plötzlich die aktuelle 18.17.1 Seltsam.
-
@oberfragger sagte in [How-to] Node.js für ioBroker richtig updaten:
Muss ich irgendwas deinstallieren?
Ja.
sudo apt remove libnode72 npm nodejs-legacy
Und hampel da nicht als root herum.
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
quelle: https://deb.nodesource.com/
da steht aber NICHTS von npm installieren so wie du es da stehen hast. Die Installation von nodejs beinhaltet bereits npm. Bitte ändere das ab damit sich dieser Unsinn nicht verbreitet
-
@fastfoot ich setze jedes Mal einen Docker neu auf. NPM fehlte jedes Mal wenn ich nur NODEJS im apt hatte.
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
NPM fehlte jedes Mal wenn ich nur NODEJS im apt hatte.
Das kann nicht sein, npm ist Bestandteil des nodejs-Pakets (Jedenfalls so wie es von nodesource zusammengebaut wird).
Das nodejs in der dfsg-Version kommt allerdings ohne npm mit. Streng nach der Debian-Herangehensweise, Pakete möglichst modular und schlank aufzubauen.Und weil das so ist knallt das auch oben bei dir.
Edit... War ja gar nicht bei dir, wo das knallt... -
@plchome-0 ich setze ständig neue Container auf und installiere node, hundert mal in den letzten Wochen ist nicht übertrieben, und npm hat da nie gefehlt. es ging mir auch darum dass wenn du schon eine quelle nennst du sie nicht einfach abändern kannst!
-
Prüfe ob das jetzt da alles senkrecht ist bei dir.
Das schaut irgendwie schräg aus.iob diag
oder damit:
https://forum.iobroker.net/topic/68035/iob-node-fix-skript -
@fastfoot sagte in [How-to] Node.js für ioBroker richtig updaten:
@plchome-0 ich setze ständig neue Container auf und installiere node, hundert mal in den letzten Wochen ist nicht übertrieben,
Ich brauche keine Hundert container: Also neuer Container unter Bookworm, mit genau dem was oben steht und nix npm.
Wenn man die 20 installiert, ist npm es drauf.
Meines Wissens nach soll der ioB aber unter 18 laufen.
Es gibt auch noch weitere Problemen unter bullseye kommt, wenn man die 18 einträgt eine 12.Ist wohl alles nicht so ausgereift.
-
nodejs v18.13.0 ist die dfsg-Variante aus dem Debian-Repository.
Die will man nicht verwenden, weswegen der Installer eigentlich auch da schon das nodesource-Repo (in obsoleter Form) reinholt.Aus Screenshots kann man nicht kopieren, stell Text aus der Konsole auch als Text in CodeTags rein. Danke.
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
Ist wohl alles nicht so ausgereift.
Naja, du installierst die falschen Pakete.
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
Ist wohl alles nicht so ausgereift.
ehrlich!??
-
@thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:
Naja, du installierst die falschen Pakete.
warum eig. wird bei ihm die dfsg Variante bevorzugt installiert?
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
Ich brauche keine Hundert container:
ich schon, für dich würde aber einer reichen, wenn es denn der offizielle von buanet wäre und nicht was eigengefrickeltes. dann müsstest du auch hier nicht falsche tips verbreiten, auch wenn das sicherlich in guter Absicht geschehen ist
-
@fastfoot sagte in [How-to] Node.js für ioBroker richtig updaten:
warum eig. wird bei ihm die dfsg Variante bevorzugt installiert?
Ohne zu wissen wie da was (in welcher Reihenfolge) installiert wurde schwer bis unmöglich zu sagen.
Der iob-Installer schleppt jedenfalls das nodesource-Repo im 18er-Zweig an und installiert dann die höchste verfügbare Version des Pakets 'nodejs'.
Mitapt policy nodejs
könnte man die Rangfolge sehen.
-
@thomas-braun nun ja, er beauptet ja dass er das nach Anleitung von https://deb.nodesource.com installiert hat die da lautet:
sudo apt install -y ca-certificates curl gnupg curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg NODE_MAJOR=18 echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list sudo apt-get install nodejs -y
aber ich glaube ich habs gefunden: wenn node bereits installiert ist dann muss zwischen Zeile 4 und 5 unbedingt ein
apt update
rein, damit das neue Repo auch gezogen wird, sonst wird so installiert wie es im cache steht -
Deswegen schreibt auch dieser andere Typ da sowas in sein HowTo rein:
Dann das nodesource-Repository wieder anlegen lassen:
NODE_MAJOR=18 sudo apt update sudo apt install -y ca-certificates curl gnupg sudo mkdir -p /etc/apt/keyrings curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_MAJOR}.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list sudo apt update sudo apt install nodejs
Wobei die Anleitung von nodesource das auch macht:
3. Run Update and Install sudo apt-get update sudo apt-get install nodejs -y
Das kann es also nicht sein, was da 'noch nicht so ausgereift' ist.
Ich vermute weiterhin ein falsche Installation in irgendeiner Form. -
@thomas-braun
ja, und auch die Herren von deb.nodesource.com schreiben es genau so vor(erst jetzt gesehen).
Ein weiterer Grund nicht auf Quellen zu verweisen nachdem man deren Inhalt modifiziert hat. Das verleiht eine Seriosität die schlicht nicht gegeben ist.
Kann also bitte jemand den Unsinn hier verbessern, wenn sich der Ersteller schon verweigert? @Homoran ? Führt nur zu weiteren Fehlinstallationen!