· 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 oder npm 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 und
  • npm-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.

HLC-nvm-windows-twitter



Weitere Artikel über Tools/Werkzeuge.

Back to Blog