Problem

NodeJS installieren sollte ja wohl easy sein? Einen Installer runterladen und los geht's? Ja, dann habe ich allerdings nur eine Version, mit welcher ich entwickeln kann. Glück gehabt, wenn alles, woran ich arbeite, mit derselben Version entwickelt und getestet werden muss.

Früher oder später benötigt man parallel eine andere Version oder muss mal in ein altes Repo zurück. NVM ist wohl einigen bekannt, aber hat die Open Source Community auch andere Tools parat?

Lösung

Schaut man in die package.json Dateien bekannter Github Repos wie TypeScript, Lerna oder Lodash, dann ist Volta das Tool der Wahl. Es verspricht, einfach installiert zu sein und schnell und verlässlich mit der NodeJS/NPM Toolchain umgehen zu können.

Das kann ich nach einigen Jahren der Nutzung bestätigen! Die Version 1.0.0 kam im Dezember 2020 raus. Ich habe NVM nie vermisst, da Volta einfacher zu installieren ist und problemlos und schnell seinen Zweck erfüllt.

Beispiel

Installation geht unter Unix auf der Kommandozeile:

curl https://get.volta.sh | bash

Das ist gleichzeitig auch das Kommando, um die Volta-Version upzudaten.

Bezüglich NodeJS-Version hat man die Option, den globalen Default zu setzen:

volta install node@20

Die Default-Version wird automatisch aktiviert und ist unabhängig von Git Repos verfügbar. Innerhalb eines Git Repos gibt es das Konzept des Pinning. Außerhalb des Repos ist der Default aktiv, innerhalb des Repos die gepinnte Version.

So setzt man die NodeJS-Version, mit welcher man in einem Repo arbeiten möchte:

cd customer-foo/repository-bar volta pin node@18.17.0

Dieses Kommando sorgt für einen Eintrag in der package.json, welcher auch eingecheckt wird. Volta sorgt dafür, dass immer, wenn man auf der Kommandozeile in dieses Repo wechselt, auch die entsprechende NodeJS-Version gesetzt wird. Im Vergleich zu NVM spart man sich hier also den Aufruf von nvm use und die Platzierung einer .nvmrc Datei.

toiletpaper194

SCHREIB UNS

* Pflichtfeld

SCHREIB UNS

* Pflichtfeld

Cookie-Einstellungen

Diese Website verwendet Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und Zugriffe auf die Website zu analysieren. Zudem werden Informationen zu Ihrer Verwendung der Website an Partner für soziale Medien, Werbung und Analysen weitergegeben. Die Partner führen diese Informationen möglicherweise mit weiteren Daten zusammen, die Sie ihnen bereitgestellt haben oder die sie im Rahmen Ihrer Nutzung der Dienste gesammelt haben.

Weitere Informationen finden Sie in unserer Datenschutzerklärung. Dort können Sie nachträglich auch Ihre Cookie-Einstellungen ändern.

contact icon

Kontakt aufnehmen