Serie: Einführung in den MEAN Stack
- Teil 1: Definition des MEAN Stacks
- Teil 2: Setup des MEAN Stacks
- Teil 3: Node.js
- Teil 4: npm
- Teil 5: Connect
- Teil 6: Express
- Teil 7: MongoDB
- Teil 8: Mongoose
- Teil 9: REST
- Teil 10: Baucis
- Teil 11: Bower
- Teil 12: AngularJS
- Teil 13: Restangular
npm ist ein Package Manager zum Verwalten von Modulen. Das heißt, er erleichtert die Installation und Deinstallation von Modulen und berücksichtigt dabei auch, ob ein bestimmtes Modul von einem anderen abhängt oder nicht. Er wird standardmäßig mit Node installiert. In diesem Artikel erkläre ich die Benutzung von npm.
Entgegen der weit verbreiteten Meinung npm wäre eine Abkürzung für Node Package Manager ist npm gar keine Abkürzung und besitzt auch keine 100%ig sinnvolle Bedeutung. Bei der Namenswahl als Befehl für die Kommandozeile wurde lediglich darauf geachtet, dass alle Buchstaben leicht mit der rechten Hand und ohne Großbuchstaben eingegeben werden können.
Im Terminal kann die aktuelle Version von npm überprüft werden:
$ npm -v
> 1.3.8
Obwohl über npm fast ausschließlich Node-Module verteilt werden, können auch beliebige andere Dateien mittels npm verwaltet werden.
Wie bereits gezeigt ist das Erstellen und Requiren von Node-Modulen sehr einfach. npm verbessert diese Eigenschaft von Node noch einmal: Module können einfach (de)installiert und Abhängigkeiten zwischen Modulen festgehalten werden. Die (De)Installation von Modulen kann global oder lokal erfolgen. In der Regel werden Module lokal pro Projekt installiert, da Projekte so mit unterschiedlichen Versionen eines Moduls arbeiten können. Die Faustregel lautet lediglich Node-Module, die als Command Line Tool verwendet werden, global zu installieren. Alle lokal installierten Module werden in einem Unterordner des derzeitigen Ordners namens node_modules
gespeichert.
Die Installation eines Moduls erfolgt über einen einfachen Befehl (modulname
muss durch einen echten Namen eines Moduls ersetzt werden):
$ npm install modulname
Durch den Zusatz -g
nach install
würde das Modul global installiert werden.
Durch uninstall
kann das entsprechende Modul wieder deinstalliert werden:
$ npm uninstall modulname
Der gleiche Befehl kann mit dem Zusatz -g
wieder für globale Module angewandt werden.
npm bietet eine Möglichkeit die Abhängigkeiten eines Projekts zu anderen Modulen deklarativ in einer JSON-Datei namens package.json
festzuhalten. Für die folgenden einfachen Beispiele benötigen wir diese Funktion nicht. Wer an dieser Stelle bereits mehr zu dieser gängigen Praxis wissen möchte, der kann dies in der npm Dokumention unter https://npmjs.org/doc/files/package.json.html nachlesen. Sie ist vor allem für die Veröffentlichung von eigenen Node-Modulen bei npm relevant oder wenn man mit anderen Entwicklern zusammenarbeitet, damit jeder Entwickler alle Abhängigkeiten eines Moduls erhält. Sie kann außerdem Metadaten wie einen Link zum Repository oder Angaben zur Lizenz enthalten.
Da wir nun wissen, wie man externe Module mit npm installiert, können wir im nächsten Artikel unser erstes Node-Framework betrachten.