Articles

Was ist npm?

2011-08-26

npm ist zwei Dinge: in erster Linie ist es ein Online-Repository für die Veröffentlichung von Open-Source-Knoten.js-Projekte; Zweitens ist es ein Befehlszeilendienstprogramm für die Interaktion mit dem Repository, das die Paketinstallation, Versionsverwaltung und Abhängigkeitsverwaltung unterstützt. Eine Fülle von Knoten.js-Bibliotheken und -Anwendungen werden auf npm veröffentlicht, und viele weitere werden jeden Tag hinzugefügt. Diese Anwendungen können auf https://www.npmjs.com/ gesucht werden. Sobald Sie ein Paket haben, das Sie installieren möchten, kann es mit einem einzigen Befehlszeilenbefehl installiert werden.

Nehmen wir an, Sie arbeiten eines Tages hart daran, die nächste großartige Anwendung zu entwickeln. Sie stoßen auf ein Problem und entscheiden, dass es Zeit ist, diese coole Bibliothek zu verwenden, von der Sie immer wieder hören – lassen Sie uns Caolan McMahons async als Beispiel verwenden. Glücklicherweise ist npm sehr einfach zu bedienen: Sie müssen nur npm install async ausführen, und das angegebene Modul wird im aktuellen Verzeichnis unter ./node_modules/ installiert. Sobald Sie in Ihrem node_modules Ordner installiert sind, können Sie require() auf ihnen verwenden, genau wie sie eingebaut wurden.

Schauen wir uns ein Beispiel für eine globale Installation an – sagen wir coffee-script. Der Befehl npm ist einfach: npm install coffee-script -g. Dadurch wird das Programm normalerweise installiert und ein Symlink in /usr/local/bin/ eingefügt. Auf diese Weise können Sie das Programm wie jedes andere CLI-Tool von der Konsole aus ausführen. In diesem Fall können Sie nun mit coffee das coffee-script REPL verwenden.

Eine weitere wichtige Verwendung von npm ist das Abhängigkeitsmanagement. Wenn Sie ein Knotenprojekt mit einem Paket haben.json-Datei können Sie npm install vom Projektstamm aus ausführen und npm installiert alle im Paket aufgeführten Abhängigkeiten.json. Dies macht die Installation eines Knotens.js-Projekt aus einem Git-Repo viel einfacher! Beispiel: vows, ein Knoten.js testing Framework, kann von git installiert werden, und seine einzelne Abhängigkeit, eyes, kann automatisch behandelt werden:

Beispiel:

git clone https://github.com/cloudhead/vows.gitcd vowsnpm install

Nachdem Sie diese Befehle ausgeführt haben, sehen Sie einen node_modules Ordner, der alle im Paket angegebenen Projektabhängigkeiten enthält.json.