Ich möchte dieses Thema noch einmal aufgreifen, weil es mich viel Zeit gekostet hat den für mich, aber sicherlich auch für viele andere, richten Weg zum Upgrade von nodejs auf 12.16.3 unter Windows zu finden.
Die vorstehede Anleitung enthält die entscheidenen Hinweise, führte mich mich aber nicht (mehr) zum Erfolg.
Meine Systemumgebung:
Platform: Windows
os: win32
Architecture: x64
js-controller: 3.0.21
Installationspfad: C:\iobroker\Instanzname
Node.js vorher: v10.17.0
NPM (bleibt unverändert): 6.14.4
Die ursprüngliche Installtion wurde mithilfe des auf der Homepage befindlichen Windows-Setups durchgeführt.
Vor der eigentlichen Installation habe ich unter C:\iobroker\Instanzname den Befehl npm install --global windows-build-tools ausgeführt. Dies wurde ohne Fehlermeldung durchgeführt und schadet bestimmt nicht.
Alle folgenden Befehle werden unter C:\iobroker\Instanzname ausgeführt.
Stopp der iobroker-Instanz iobroker stop
Unter Dienste den automatischen Start von iobroker temporör auf manuell stellen, damit er sich nicht nach jedem Reboot startet
Deinstallation der alten Node.js-Installation über die normale Windows-Deinstallation (Programme entfernen) mit anschließendem Reboot (sicher ist sicher)
Löschen des Verzeichnisses C:\Program Files\nodejs, falls noch vorhanden
Node.js node-v12.16.3-x64 von der Homepage runtergeladen und nach Standardvorgaben installiert; Chocolate auch installiert (aber keine Ahnung, ob es benötigt wird); dies installiert die aktuelle Version unter C:\Program Files\nodejs; anschließend sicherheitshalber wieder ein Neustart
Umbenennen des Ordners C:\iobroker\Instanzname\nodejs (z.B. in nodejs_10_17_0)
Kopieren des Ordners C:\Program Files\nodejs nach C:\iobroker\Instanzname\nodejs
jetzt sollte der Befehl node -v schon die aktuelle Verison ausgeben
die Datei nodevars.bat aus dem umbenannten Ordner nodejs_10_17_0 in den neuen nodejs-Ordner kopieren; hierdurch wird die cmd-Box auch weiterhin mit dem richtigen Umgebungsvariablen und im richtigen Ordner gestartet
Die cmd-Box zum Test neustarten
ich habe jetzt noch den Befehlt npm rebuild ausgeführt; ob es notwendig ist weiß ich nicht
den Dienst wieder auf automatisch stellen und mit iobroker start iobroker starten
Entscheidend war für mich zu verstehen, dass der iobroker nach Standard-Installation sein nodejs bereits im eigenen Verzeichnis mitbringt und jede Installation einer neuen Version unter Program Files garkeine Veränderung mit sich brachte.
Sollte ich bei irgendetwas nicht richtig liegen bitte ich um Korrektur. Alle Tipps natürlich auf eigene Gefahr. Bei mir hat es so funktioniert.