· 3 min read
NVM for Windows - Node.js Versionen

Einführung
Wenn man an verschiedenen Projekten arbeitet, die unterschiedliche Node.js Versionen benötigen, dann ist der Node Version Manager (NVM) sehr praktisch. Man muss nicht Node.js deinstallieren und eine andere Version installieren (plus die globalen npm Libraries). NVM bietet eine Möglichkeit verschiedene Versionen parallel installiert zu haben und nur zwischen ihnen zu wechseln. Ursprünglich war das Tool nur für Linux und Mac verfügbar, doch es gibt schon länger auch eine Windows Version. Eine andere Möglichkeit wäre natürlich auch die Projekte in Docker Containern zu entwickeln und in diesen dann die jeweilige Version von Node.js bereitzustellen.
Installation
1. Status festhalten
Zuerst sollte man die installierten globalen Libaries notieren.
npm list -g npm list -g --depth=0 (für npm version 6 und davor)
Node.js version und npm Version notieren
node --version npm --version
npm config Files sichern
Es gibt mehrere Orte, wo npm Konfigurationsfiles ausliest, falls diese vorhanden sind:
direkt beim eigenen Projekt (das ist hier jetzt unwichtig, denn das wird nicht entfernt)
global:
%AppData%\npm\etc\npmrc
- für den eher seltenen Fall, dass man hier etwas eingetragen hat, kann man die Zeilen in das Userprofile npm config File (siehe nächsten Punkt) übernehmen.
im Userprofil Ordner
.npmrc
zu finden im Ordner%USERPROFILE%
- Wie ist diese Datei entstanden? Man erzeugt sie üblicherweise mit
npm config set
odernpm set
, z.B. wenn man- einen Proxy setzt
- oder auch zusätzliche Repositories gespeichert hat (Artifactory im Firmennetz, …).
Die Datei muss nicht entfernt werden, sie wird auch in Zukunft verwendet. Wichtig ist jedoch, dass man überprüft ob die Einstellung für
prefix
vorhanden ist und wenn ja, dann diese Zeile entfernt.- Der Wert von Prefix zeigt auf den Ort, wo die globalen npm Packages abgelegt werden und diese sollten ja nun an unterschiedlichen Orten, verwaltet von nvm, abgelegt werden.
- z.B.
prefix=C:\Users\ich\AppData\Roaming\npm
2. Deinstallation von Node.js
Üblicherweise macht man das mit dem Windows System Tool Programme hinzufügen oder entfernen
. Dabei wird %ProgramFiles%\nodejs
gelöscht (am besten kontrollieren). Auch npm wird dabei deinstalliert.
Kontrollieren, ob die lokalen Ordner für die npm Packages gelöscht wurden und falls nicht, diese löschen oder zumindest mal umbenennen und sie später entfernen.
Im Ordner %APPDATA%
findet man die zu löschenden Ordner:
npm
undnpm-cache
.
3. Installation von NVM
Am einfachsten installiert man NNM for Windows über den Installer: Dazu auf https://github.com/coreybutler/nvm-windows/releases das neueste Package (aktuellste Version beim Erstellen dieses Blog Eintrages: 1.1.10) downloaden und installieren: nvm-setup.exe
.
Verwendung
Node Versionen einrichten
Folgende Befehle einzeln, nach der Reihe, ausführen und die Antworten ansehen. Dadurch erlernt man gleichzeitig die Verwendung von nvm.
nvm list
nvm list available
nvm install 16
nvm use 16
nvm list
nvm install 18
nvm use 18
nvm list
Node Packages wieder installieren
Nun auch die globalen npm Packages installieren, die man sich oben notiert hat, z.B. Angular CLI und ncu. (-g für global nicht vergessen!)
npm install -g @angular/cli npm-check-updates
Zu Testzwecken installiert man z.B. verschiedene Packages in unterschiedlichen node Versionen. Dies geschieht indem man zunächst mit nvm use
die richtige node Version auswählt und die installierten Packages dann kontrolliert (mit npm list -g
).
Hintergrund
Interessant ist auch, dass man sich im Windows Explorer mal die bei der Installation eingerichteten Umgebungsvariablen ansieht:
%NVM_HOME%
%NVM_SYMLINK%
Man erkennt schnell, wie das Programm arbeitet. Die Umgebungsvariable NVM_SYMLINK=C:\Program Files\nodejs - wird an eine ganz andere Stelle, an die entsprechende node Version, verlinkt und unter %NVM_HOME% sieht man die verschiedenen Versionen für die npm Package Folder. Details findet man im Readme des Projektes.
Fazit
Nvm for Windows funktioniert inzwischen sehr gut, zuverlässig und es lässt sich einfach installieren und updaten. Es ist meiner Meinung nach selbsterklärend. Wichtig ist nur, dass man bei der Installation keine alten Node.js oder nvm Bestandteile (config files) übersieht.

9.2 Links
Weitere Artikel über Tools/Werkzeuge.