Node.js-Versionen und npm-Registry-Quellen wie ein Profi verwalten
Juan Picado
28. August 2019
0 Min. LesezeitAnknüpfend an unseren Anfang des Jahres veröffentlichten Leitfaden mit 10 Best Practices für npm-Sicherheit möchte ich näher darauf eingehen, wie Sie in Ihrer Entwicklungsumgebung einfacher zwischen verschiedenen Node.js-Versionen und npm-Registries wechseln können.
Node-Versionsmanager
Bei der Entwicklung von Node.js-Anwendungen müssen Sie möglicherweise mehrere Node.js-Versionen installieren, um Ihre täglichen Aufgaben zu erledigen. Das kann zum Beispiel nötig sein, wenn Sie einen Fehler in der Produktionsumgebung beheben oder zwischen Projekten wechseln müssen. Das jedes Mal manuell zu erledigen, kostet viel Zeit und Mühe – dabei geht es auch einfacher.
Der Node Version Manager (nvm) ist ein Tool, mit dem Sie zwischen verschiedenen Node.js-Versionen wechseln können. So sparen Sie Zeit, wenn Sie Fehler aus der Produktionsumgebung in Entwicklungsumgebungen reproduzieren.
Die Standardinstallation wird nur unter macOS und Linux unterstützt. Wenn Sie Windows verwenden, sehen Sie sich nvm-windows an – damit sollten Sie bestens zurechtkommen.
Mit der CLI können Sie beliebige Node.js-Versionen installieren, indem Sie Folgendes ausführen:
Das war einfach! Sehen wir uns nun einige typische Szenarien an, in denen NVM hilfreich ist:
Manchmal arbeiten Teammitglieder im selben Team mit unterschiedlichen Node.js-Versionen. Das ist jedoch ein häufiger Fehler, der zu Problemen führen kann – etwa wenn Sie Code zusammenführen, der von der Node.js-Version, die im restlichen Team verwendet wird, nicht unterstützt wird. Damit alle Teammitglieder dieselbe Version verwenden, kann das Team die Datei `.nvmrc` einführen. Zum Beispiel:
$ echo "10" > ~/.nvmrc
Nach der Installation wird beim Ausführen von nvm install immer standardmäßig die in dieser Datei angegebene Version verwendet. So wird verhindert, dass Teammitglieder mit einer anderen Version Beiträge leisten. Auf diese Weise vermeiden Sie beispielsweise, inkompatible Node.js-Funktionen auszuliefern oder Syntax zu verwenden, die Ihre App möglicherweise beeinträchtigt.Müssen Sie einen Fehler mit einer älteren oder neueren Node.js-Version reproduzieren als der, die Sie installiert haben? Ohne NVM ist es wegen der manuellen Installation mühsam, mehrere global installierte npm-Versionen gleichzeitig zu verwenden. Mit NVM führen Sie einfach einen weiteren `install`-Befehl aus, um verschiedene Versionen parallel zu nutzen – und schon sind Sie startklar. Ein Beispiel:
Wenn Sie mehrere Node.js-Versionen installiert haben, von denen jede mehrere globale npm-Module nutzt, müssen Sie diese Module bei jedem Wechsel der Node.js-Version erneut installieren.
Hier ist eine schnelle Lösung:
npm-Registry-Manager
Der NPM Registry Manager ist ein weiteres nützliches Tool, wenn Sie mehrere Registries verwenden. Das kommt häufig in Unternehmen vor oder wenn Sie ein Tool wie verdaccio für eine private lokale Registry nutzen. Seit GitHub seine Package Registry eingeführt hat, ist das noch nützlicher und verbreiteter.
NRM unterstützt standardmäßig mehrere Registries, darunter:
Weitere Tipps für mehr Produktivität und npm-Sicherheit finden Sie in unserem Spickzettel mit 10 Best Practices für npm-Sicherheit.
Bleiben Sie sicher!



