NEWS
Node JS Update von v8 auf V10 schlägt fehl
-
@samsungfreak sagte in Node JS Update von v8 auf V10 schlägt fehl:
*cd /opt/iobroker
- iobroker backup
- iobroker stop
- curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
- sudo apt-get install -y nodejs
- curl -sL https://iobroker.net/fix.sh | bash -
Das sind eigentlich nicht wirklich die richtigen Update Schritte.
Alte vorhandene Node/NodeJS Versionen sollten vorher entfernt werden.
Von hier https://www.iobroker.net/#de/documentation/install/linux.md
Installation Node.js Die folgende Anleitung ist auch bei einem Downgrade zu verwenden. Die momentan empfohlene Version ist node 10.x; mit js-controller 1.5.7 auch node 8.x, dann in Schritt 4.1. die “10.x” gegen 8.x” austauschen. Debian Buster erfordert node.js v10.x!! ungerade nodejs-Versionen sind grundsätzlich nicht empfohlen, da es sich um Entwicklerversionen handelt. System-Update: sudo apt-get update && sudo apt-get upgrade Je nach verwendetem OS kann das Update auch mittels sudo apt update && sudo apt upgrade ausgeführt werden. Auf bereits vorhandene Versionen von nodejs und npm testen. node -v nodejs -v npm -v nur wenn ALLE diese Befehle kein Ergebnis bringen (also keine Versionsnummer mehr anzeigen) mit Schritt 4. dieses Abschnittes weitermachen, sonst, oder wenn die Version nicht der gewünschten entspricht folgendes vorher ausführen: Die existierenden node & node.js Versionen deinstallieren sudo apt-get --purge remove node sudo apt-get --purge remove nodejs sudo apt-get autoremove sudo reboot Node.js neu installieren für Linux und Raspberry 2/3 curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt install -y nodejs sudo reboot Nach der Installation müssen die Kommandos “node -v” und “nodejs -v” die gleiche Versionsnummer zurückgeben. Falls node -v eine Fehlermeldung wie “nicht gefunden” erzeugt, dann bitte ein sudo ln -s /usr/local/bin/nodejs /usr/bin/node an der Konsole ausführen. Sind die Versionen unterschiedlich, bitte nochmals den Abschnitt Installation Node.js abarbeiten Als letzte Überprüfung bitte noch die Version von npm mittels npm -v überprüfen. Ergibt dies eine Version < 6, bitte noch mit sudo -H npm install -g npm@6 ein npm-Update durchführen
-
@wendy2702 sagte in Node JS Update von v8 auf V10 schlägt fehl:
Das sind eigentlich nicht wirklich die richtigen Update Schritte.
ich gehe schon davon aus, dass sich @samsungfreak an dieses Tutorial gehalten hat:
https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updatenkomplettes Entfernen ist sicherlich nciht falsch, steht dort aber IMHO nicht drin.
-
@Homoran OK.
Das kannte ich nicht.
Bisschen widersprüchlich dann zwischen Tutorial und iobroker Doku.
Ich habe bisher immer die alte Version entfernt und nie Probleme gehabt.
-
@samsungfreak sagte in Node JS Update von v8 auf V10 schlägt fehl:
Bis hierhin läuft soweit alles durch außer das es eine Fehlermeldung beim stoppen des IOBrokers gibt:
Dann muss ich nochmal Fragen was das genau bedeutet?
An welcher Stelle kommt dieser Fehler das iobroker sich nicht stoppen lässt?
Bei
iobroker stop
oder bei
curl -sL https://iobroker.net/fix.sh | bash -
-
@wendy2702 sagte in Node JS Update von v8 auf V10 schlägt fehl:
Das kannte ich nicht.
Der Link dazu befindet sich im Forum rechts im roten Kasten
@wendy2702 sagte in Node JS Update von v8 auf V10 schlägt fehl:
Bisschen widersprüchlich dann zwischen Tutorial und iobroker Doku.
Beim Update geht man davon aus, dass die Erstinstallation nach Doku ausgeführt wurde und keine fremden Repos mehr aktiv sind.
Bei der Erstinstallation muss man unbedingt prüfen ob die Distro noch ein eigenes Repo für nodejs mitbringt
@wendy2702 sagte in Node JS Update von v8 auf V10 schlägt fehl:
Ich habe bisher immer die alte Version entfernt und nie Probleme gehabt.
Halte ich genau so!
-
@wendy2702 sagte in Node JS Update von v8 auf V10 schlägt fehl:
An welcher Stelle kommt dieser Fehler das iobroker sich nicht stoppen lässt?
und vor allem welcher Fehler?
ggf. da schon den Fixer drüber bügeln und/oder mit systemctl stoppen.Aber nicht trotz Warnung weitermachen!
-
@samsungfreak sagte in Node JS Update von v8 auf V10 schlägt fehl:
> [0m[31;40mERR![0m [0m[35mnode -v[0m v10.18.0
Ich gehe mal davon aus das dein Node Upgrade funktioniert hat aber vielleicht leider nicht die richtige NPM Version.
Was kommt bei:
node -v npm -v
-
@wendy2702 @Homoran : Vielen Dank für euren Antworten!
Genau richtig ich bin der Anleitung aus dem Forum gefolgt https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten
Ich werde es morgen dann mal mit einer Deinstallation/Installation nach Doku probieren. Hier allerdings eine Frage:In der Doku steht, dass alle Befehle mit einem "sudo" ausführt werden sollen. Allerdings wird in einem angepinnten Forum Post davon abgeraten zu mindest bei NPM Befehlen: https://forum.iobroker.net/topic/17109/wichtige-hinweise-bei-neueren-npm-versionen-und-sudo
Was ist hier das richtige Vorgehen aus eurer Sicht?
@wendy2702 : Die Fehlermeldung kommt beim stoppen via "iobroker stop" Das Problem sollte eigentlich behoben sein (https://forum.iobroker.net/topic/15123/fehlermeldung-bei-iobroker-stop-nach-update-von-js-controller-auf-1-5-1)...bei mir läuft die Version 1.5.3
Ich werde es morgen mit der Deinstallation/Installation probieren und Feedback geben:)
Danke schon einmal:) -
@samsungfreak sagte in Node JS Update von v8 auf V10 schlägt fehl:
Was ist hier das richtige Vorgehen aus eurer Sicht?
npm Befehle sollen nicht mehr mit einem einfachen sudo gestartet werden!
Außerdem müssen npm Befehle (im Gegensatz zu iobor´ker... Befehle) unbedingt im Installationsverzeichnis (üblicherweise /opt/iobroker) ausgeführt werden!@samsungfreak sagte in Node JS Update von v8 auf V10 schlägt fehl:
Die Fehlermeldung kommt beim stoppen via "iobroker stop" Das Problem sollte eigentlich behoben sein
Die Frage belibt: welche Meldung genau?
Wenn es das ist was ich denke sollte sie wirklich behoben sein, wird aber durch irgendwelche Aktionen wieder eingeschleppt, so dass ein erneuter Lauf des Fixers diese erneut behebt -
@Homoran : Die folgende Meldung kommt beim "iobroker stop" Befehl:
Stopping iobroker controller daemon... iobroker controller daemon stopped. fs.js:1123 return binding.chmod(pathModule._makeLong(path), modeNum(mode)); ^ Error: ENOENT: no such file or directory, chmod '/opt/iobroker/node_modules/iobroker.js-controller/lib/../killall.sh' at Object.fs.chmodSync (fs.js:1123:18) at Daemon.daemon.on (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:286:32) at emitOne (events.js:121:20) at Daemon.emit (events.js:211:7) at Daemon.<anonymous> (/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:267:14) at Daemon._tryKill (/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:277:23) at ontimeout (timers.js:498:11) at tryOnTimeout (timers.js:323:5) at Timer.listOnTimeout (timers.js:290:5)
Wenn ich danach den Fixer drüber laufen lasse "curl -sL https://iobroker.net/fix.sh | bash -" tauchen die Fehler nicht mehr auf beim stoppen. Wie kann ich herausfinden was genau dafür gefixt wurde?
Was ebenfalls nicht angezeigt wird nach absetzten des Befehls "Stopping iobroker controller daemon..."...library: loaded Library version=2020-04-12 ========================================================================== Welcome to the ioBroker installation fixer! Script version: 2020-04-12 ========================================================================== ========================================================================== Installing prerequisites (1/3) ========================================================================== OK:1 https://deb.nodesource.com/node_8.x jessie InRelease Ign:2 http://ftp.de.debian.org/debian stretch InRelease Holen:3 http://ftp.de.debian.org/debian stretch-updates InRelease [91,0 kB] OK:4 http://ftp.de.debian.org/debian stretch Release Holen:6 http://security.debian.org stretch/updates InRelease [94,3 kB] Holen:7 http://security.debian.org stretch/updates/main Sources [210 kB] Holen:8 http://security.debian.org stretch/updates/main amd64 Packages [521 kB] Es wurden 916 kB in 2 s geholt (309 kB/s). Paketlisten werden gelesen... Fertig Installed gcc-c++ Installed unzip Installed python-dev ========================================================================== Checking ioBroker user and directory permissions (2/3) ========================================================================== User iobroker created Created /etc/sudoers.d/iobroker Fixing directory permissions... ========================================================================== Checking autostart (3/3) ========================================================================== Enabling autostart... Created symlink /etc/systemd/system/multi-user.target.wants/iobroker.service → /lib/systemd/system/iobroker.service. Autostart enabled! ========================================================================== Your installation was fixed successfully Run iobroker start to start ioBroker again!
Ich würde jetzt wie folgt vorgehen:
- IOBroker stoppen (mit der Fehlermeldung)
- Fixer drüber laufen lassen lassen
- IOBroker starten
- IOBroker stoppen (ohne Fehler)
- NodeJS deinstallieren (v8)
- NodeJS installieren (v10)
Habe ich einen Schritt vergessen?
-
Liest sich gut.
Immer vorher ein Backup machen würde ich noch mit in die Liste aufnehmen.
-
Guten Abend,
das Update/die Neuinstallation hat ohne Probleme funktioniert. Ich bin jetzt allerdings direkt auf die v12 gegangen:)
Einen Punkte gab es allerdings der mir komisch vorgekommen ist. Laut System konnte das Paket "node" nicht entfernt werden da es nicht vorhanden ist:# apt-get --purge remove node Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Paket »node« ist nicht installiert, wird also auch nicht entfernt. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Das ist aber falsch da die Ausgabe "node -v" entsprechend "v8.17.0" ausgegeben hatte vorab:
node -v v8.17.0
Ebenso ist mir folgender Fehler aufgefallen:
dpkg: Warnung: Während Entfernens von nodejs ist Verzeichnis »/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator« nicht leer, wird daher nicht gelöscht
Das System läuft soweit aber stabil weshalb ich keinen Restore gemacht habe.
Kann ich den Fehler ignorieren? -
@samsungfreak
Nein.
Du hast dir ein node 8 irgendwie manuell am Paketmanager vorbei ins System gehämmert und/oder bist nicht auf node 12. Zeig mal die Ausgaben vonwhich node nodejs -v node -v
-
hallo und schönen abend!
ich steh gerade nach einem update am gleichen punkt, habe aber das npm rebuild noch nicht ausgeführt. ich bin in diesem punkt ein völliger newbie und tippe genau die anweisungen ein, welche im tutorial angegeben sind.
im info adapter steht, dass ich Node.js v8.16.2 habe
in der konsole bekomme ich folgend infos:
ich bin mir hier nicht im klaren, welche info was bedeutet.muss/soll ich mit npm rebuild weitermachen?
danke im voraus für eure hilfe
tom -
@tom_33 sagte in Node JS Update von v8 auf V10 schlägt fehl:
muss/soll ich mit npm rebuild weitermachen?
nein!
@tom_33 sagte in Node JS Update von v8 auf V10 schlägt fehl:
ich bin mir hier nicht im klaren, welche info was bedeutet.
du hast ZWEI node installationen parallel.
bitte beide löschen und eine neue installieren
-
hallo homoran!
mit
sudo apt-get --purge remove nodejs
und
sudo apt-get --purge remove node -
@tom_33 ja
-
laut konsole hatte ich node gar nicht.
bei node -v wird v8.16.2 angezeigt!?
-
@tom_33 das muss aber weg
-
@Homoran
wenn ich wüßte wie.
diese diskussion bringt mich leider auch nicht weiter
https://forum.iobroker.net/topic/24462/node-deinstallieren-fehler