NEWS
[HowTo][gelöst] npm richtig updaten
-
Mir ist bei einigen ioBroker-Installationen in den letzten Tagen aufgefallen ist, das manchmal ein Wirrwar von npm-installationen vorliegt. Deshalb hier eine Anleitung zum Update von npm (z.B. von npm 5.8.0 aus nodejs 8.x)
<u>1. Versionscheck</u>
Die Anweisung für den Versionscheck ist für Linux- und Windows-Systeme identisch. Eine Kommandozeile öffen und am Befehlsprompt
npm -v
eingeben.
Das ganze mal im ioBroker Ordner und anschließend in einem beliebigen anderen Ordner ausprobieren (mit dem Befehl "cd" kann der Ordner gewechselt werden).
Wenn der ioBroker unter Windows als Dienst läuft, zusätzlich in der ioBroker-Adminoberfläche unter "Übersicht" nachschauen. Dort ist ebenfalls eine wichtige npm-Versionsangabe (hier z.B 6.1.0, aktuell ist 6.2.0) zu finden:
Ziel:
-
Die npm-Versionen sollen gleich sein.
-
Für ioBroker sind die folgenden npm-Versionen ok:
-
NPM kleiner als Version 5, aber mindestens 2.7.6
-
Wenn es unbedingt die Version 5 sein soll, dann bitte >= 5.7.1
-
Die aktuelle Version 6.x - Edit: 6.2.0 am 19.07.2018
-
<u>*2a. Durchführen des Updates für nix-Plattformen (OSX, Linux, …)</u>
(Wenn man kein root-User ist, bitte beim folgenden Befehl das Kommando "sudo" voranstellen.)
Update auf die neueste npm-Version (aktuell 6.1.0)
npm install -g npm@latest
Anschließend kann wieder wie unter 1. beschrieben auf die installierte Version geprüft werden.
<u>2b. Update für Windows</u>
Standardmäßig ist npm zusammen mit nodejs (je nachdem ob nodejs als 32- oder 64bit-Variante bereitgestellt wurde) in einem der beiden Ordner
C:\Program Files (x86)\nodejs C:\Program Files\nodejs
installiert.
Die von npm später installierten Packages (dazu gehört auch ggf. ein nachträglich installiertes npm) werden im Windows-Benutzerprofil-Ordner unter
C:\Users\<username>\AppData\Roaming\npm</username>
gespeichert.
Je nachdem, in welcher Reihenfolge für den aktuellen Windows Benutzer jetzt entweder der nodejs-Order oder der npm-Ordner aus dem Benutzerprofil in der PATH-Umgebungsvariablen steht, wird Dir bei "npm -v "die eine oder andere Version von npm angezeigt. ioBroker als Windows Service verwendet in der Regel zum Starten das npm aus dem nodejs-Ordner, weil der Service ja nicht als Dein Windows Nutzer sondern als Systemkonto (mit dessen PATH) läuft.
Wie bekommen wir das Durcheinander geregelt?
<list type="lower-alpha">4. Zuerst die Datei "%ProgramFiles%\nodejs\node_modules\npm\npmrc" irgendwohin sichern. Zum Beispiel auf dem Desktop.
-
Eine Kommandozeile mit Adminstratorrechten öffnen. (Tipp: Eine Verknüpfung zu "cmd.exe" auf dem Desktop erstellen und dann Rechtsklick -> "Als Administrator ausführen")
-
Folgende Befehle eingeben:
```` npm install npm@latest cd %ProgramFiles%\nodejs npm install npm@latest ````
- Anschließend die oben gesicherte npmrc-Datei wieder in den Ordner "%ProgramFiles%\nodejs\node_modules\npm" zurückkopieren.
Anmerkungen:
Falls es den Ordner %appdata%\npm z.B. bei Windows 7 nicht gibt, dann bitte unter https://docs.npmjs.com/troubleshooting/ … -windows-7 zur Fehlerbehebung weiterlesen.
Abschließend kann wieder wie unter 1. beschrieben auf die installierte Version geprüft werden.
-
-
Danke fürs bereitstellen in der Community.
Bei NPM bitte > 5.7.1 vermelden und nicht 5.x, vor allem die 5.7.1 verursacht so einige Probleme
Sent from my iPhone using Tapatalk
-
Hmm, das mit 5.7.1 ist so nicht richtig. Ich habe gerade in den Setup-Scripts vom ioBroker nachgesehen. Da steht
if (semver.gte(npmVersion, "5.0.0") && semver.lt(npmVersion, "5.7.1")) { [... Display error...] process.exit(4); }
Als 5.0.0 <= npm-Version < 5.7.1 ist "böse".
Vergleiche auch viewtopic.php?f=17&t=15297#p159970.
-
@Dutchman bei mir läuft derzeit npm 6.14.15, es gibt aber neuere Versionen.
Wie ist denn der aktuelle Stand? Sollte ich bei der Version bleiben oder kann ich auch höhere Versionen nutzen?
Hintergrund: wenn ich Updates von Adaptern einspiele, dann braucht das npm mal gut eine Minute, bis es sich richtig in Bewegung setzt und die Dateien installiert. Würde das ein Update verbessern? -
@sneak-l8 sagte in [HowTo][gelöst] npm richtig updaten:
Wie ist denn der aktuelle Stand?
Stand ist nodeJS 16 inkl. npm 8.
https://forum.iobroker.net/topic/55678/node-js-16-x-neue-empfehlung-für-iobroker
-
-
@Thomas Braun @glasfaser Danke für die schnellen Antworten. Frage kam ja gerade richtig, wenn die Empfehulng vor 2 Tagen gepostet wurde
-
@sneak-l8 sagte in [HowTo][gelöst] npm richtig updaten:
@Thomas Braun @glasfaser Danke für die schnellen Antworten. Frage kam ja gerade richtig, wenn die Empfehulng vor 2 Tagen gepostet wurde
aber so etwas in einem Thread zu fragen, dessen letzter Post 4 Jahre her ist, ist schon mutig.
-
@homoran Auf den stoße ich aber, wenn ich nach "ioborker update npm" suche. Und findet man auch heute noch den richtigen (aktuellen) Weg ...
-
@sneak-l8 sagte in [HowTo][gelöst] npm richtig updaten:
Auf den stoße ich aber, wenn ich nach "ioborker update npm" suche
das liegt daran, dass eigentlich niemand npm manuell updated.
das kommt jeweils in der passenden Version mit nodejs mit, und sollte nicht geändert werden