node.js und npm unter macOS installieren

Dieser Blogbeitrag behandelt die Installation von node.js und npm unter macOS. Bei node.js handelt es sich um eine Laufzeitumgebung, mit der es möglich ist, JavaScript außerhalb eines Browsers laufen zu lassen. So lassen sich beispielsweise serverseitige Anwendungen erstellen. Bei npm handelt es sich um den — im Jahre 2009 als Open-Source-Projekt entwickelten — Node-Paket-Manager für node.js. Neben der Installation werden auch grundlegende Befehle vorgestellt.

Installation

Mit der Installation von node.js wird auch gleichzeitig npm mitinstalliert. Wie kommt also node.js auf das System? Für die Installation kommen zwei Wege in Frage. Zum einen könnt Ihr den Paket-Manager Homebrew nutzen. Falls dieser nicht auf Eurem Mac installiert ist, könnt Ihr das nachholen, indem Ihr die Homepage von Homebrew aufruft und die dort zur Verfügung gestellte Shell-Anweisung in das Terminal kopiert und ausführt.

Homebrew erfordert die Xcode Command Line Tools. Falls sie auf Eurem System nicht installiert sein sollten, werden sie im Rahmen der Homebrew-Installation mitinstalliert. Alternativ können sie separat mit der Shell-Anweisung

$ xcode-select --install

zum System hinzugefügt werden.

Sobald Euch Homebrew zur Verfügung steht, könnt Ihr mit diesem Paketmanager Software installieren, unter anderem auch node.js. Die Syntax lautet:

$ brew install <Paketname>

Für die Installation von node.js muss also im Terminal folgende Anweisung eingegeben werden:

$ brew install node

Der andere Weg führt auf die Internetseite des Node-Projekts. Bereits auf der aufgerufenen Hauptseite befindet sich der Download-Verweis zur aktuellen Version von node.js.

Ob und welche Version von Node.js auf dem System installiert ist, kann mit

$ node -v

überprüft werden. Einen entsprechenden Befehl gibt auch es für npm, das zusammen mit node.js installiert wurde:

$ npm -v

Grundlagen zu npm

Als nächstes möchte ich kurz einige npm basics vorstellen. Die Installation eines Pakets wird grundsätzlich mit

$ npm install <Paketname>

vorgenommen. Nun verhält es sich so, dass Pakete projektbezogen oder global installiert werden können. Eine globale Installation erfolgt mit:

$ npm install -g <Paketname>

Möchte man beispielsweise das Paket jshint global installieren, wäre folgende Anweisung erforderlich:

$ npm install -g jshint

Für globale Anweisungen ist zusätzlich die Option -g hinzuzufügen. Ohne diese Option ist eine Anweisung nur projektbezogen.

Ohne die Angabe einer Versionsnummer wird stets die aktuellste Version installiert. Die (globale) Installation von jshint in der Version 2.9.6 wäre hingegen folgendermaßen möglich:

$ npm install -g jshint@2.9.6

Die Deinstallation eines Pakets wird wie folgt vorgenommen:

$ npm uninstall -g <Paketname>

Es soll nicht unerwähnt bleiben, dass es auch kürzer geht:

$ npm i -g <Paketname> // Installation
$ npm un -g <Paketname> // Deinstallation

Wenn Ihr Euch nun fragen solltet, in welchem Verzeichnis die Pakete installiert werden, dann hilft die Eingabe von

$ npm root -g
/usr/local/lib/node_modules

weiter.

Eine Übersicht über die installierten Pakete erhält man mit

$ npm -g list

Selbst wenn bisher nur wenige Pakete installiert wurden, kann diese Ansicht aber sehr unübersichtlich sein, da zusammen mit den Paketen auch die dazugehörigen Abhängigkeiten angezeigt werden. Es bietet sich deswegen an, die Option --depth zu verwenden.

$ npm -g list --depth=0

Die angefügte Zahl kennzeichnet die Verzeichnistiefe, so dass im vorangehenden Beispiel lediglich die bisher installierten Pakete ohne deren Abhängigkeiten angezeigt werden.

Um herauszufinden, welche Pakete nicht mehr aktuell sind, verwendet man outdated:

$ npm -g outdated
Package           Current  Wanted  Latest  Location
create-react-app    3.4.0   3.4.1   3.4.1  global
nodemon             2.0.2   2.0.3   2.0.3  global
npm                6.14.3  6.14.4  6.14.4  global

Pakete müssen von Zeit zu Zeit aktualisiert werden. Hier hilft update weiter:

$ npm update -g // global (alle Pakete)
$ npm update -g <Paketname> // global (ein bestimmtes Paket)
$ npm update // lokal

Und npm kann wie folgt aktualisiert werden:

$ npm install -g npm // global
$ npm install npm    // lokal

Wenn ein neues Paket mit npm installiert wird, kann es übrigens vorkommen, dass Ihr auf ein für npm zur Verfügung stehendes Update hingewiesen werdet.

NPM update note

So kann Euch kein Update entgehen. Im nächsten Node-Artikel geht es dann um das Erstellen eines neuen Node-Projekts.

Zuletzt aktualisiert am 16. Juni 2022