NodeJS richtig installieren mit Node Version Manager
Der Node Version Manager erlaubt es, mehrere NodeJS-Versionen parallel zu installieren und zwischen ihnen hin und her zu schalten. Dabei wird NodeJS mit einfachen Benutzerrechten installiert, und nicht als root-Benutzer.
Alte NodeJS-Module deinstallieren
Sind bereits NodeJS-Module installiert worden, müssen diese zunächst entfernt werden. Dies zeigt alle global installierten Module an.
~# npm ls -gp --depth=0
Falls die Module als root installiert wurden, muss die folgende Zeile auch als root ausgeführt werden. Alle bisher in /usr/local
installierten NodeJS-Module werden auf einmal deinstalliert, und nur die NodeJS Systeminstallation (aus dem Ubuntu-Repository) bleibt.
~# npm ls -gp | awk -F/ '/node_modules/ && !/node_modules.*node_modules/ {print $NF}' | xargs npm -g rm
Eventuell wurden auch einge Module im Home-Verzeichenis unter ~/.npm
installiert. Diese können erhalten bleiben, jedoch sollte sichergestellt sein, dass die Dateien den korrekten Besitzer und Zugriffsrechte haben.
~$ sudo chown -R $(id -un):$(id -gn) ~/.npm && sudo chmod -R 744 ~/.npm
Node Version Manager installieren
Die Anleitung ist auch auf der Github-Seite des NVM nachzulesen. Das Installationsscript kann direkt aus dem Repository ausgeführt werden mit
~$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash
Das Script installiert nach ~/.nvm und hängt eine Zeile an das Bash-Profil ~/.bashrc an. Möchte man außerdem Auto-Vervollständigung für die Shell haben, muss noch eine weitere Zeile angehängt werden mit
~$ echo '[[ -r $NVM_DIR/bash_completion ]] && . $NVM_DIR/bash_completion' >> ~/.bashrc
Um die Installation zu aktivieren einfach eine neue Shell öffnen, oder das Shell-Profile neu laden mit
~$ source ~/.bashrc
Mit dem Node Package Manager arbeiten
Nun können mit dem Befehl nvm
verschiedene NodeJS-Versionen installiert werden mit
~$ nvm install 5.0 # installiert nodejs version 0.5.0
~$ nvm install 4.2 # installiert nodejs version 0.4.2
~$ nvm install node # installiert die aktuellste nodejs version
und zwischen ihnen hin und her geschaltet werden mit
~$ nvm use 5.0 # aktiviert node version 0.5.0
~$ nvm use node # aktiviert die aktuellste node version
~$ nvm use system # aktiviert die vom Betriebssystem installierte node version
Um oft benötigte Pakete global für eine bestimmte NodeJS-Version zu installieren, einfach zur entsprechnden Version wechseln mit nvm
, und die Pakete installieren mit npm
.
~$ nvm use 5.0
~$ npm install -g bower react-native-cli karma karma-cli karma-coverage karma-ng-html2js-preprocessor phantomjs jasmine
Vorsicht: Die beiden Befehle für "Version" und "Package" sind sehr ähnlich und leicht zu verwechseln.
Quellen:
- http://stackoverflow.com/a/9283646/5520354
- http://stackoverflow.com/a/24404451/5520354
- https://github.com/creationix/nvm