npm — Der Paketmanager für Node.js

Praxis-Guide zu npm — Pakete installieren, package.json und Lockfiles verwalten, Skripte ausführen und Abhängigkeiten sicher aktualisieren.

npm ist der Standard-Paketmanager für Node.js und wird bei jeder Node-Installation gleich mitgeliefert. Es liest die package.json deines Projekts, löst Abhängigkeiten auf und hält sie über die package-lock.json reproduzierbar fest – die installierten Pakete bezieht es aus der zentralen npm-Registry. Darüber hinaus führt npm die in der package.json definierten Skripte aus, sodass Build, Test und Start eines Projekts mit einem einzigen Befehl laufen. Dieser Guide zeigt dir die wichtigsten Befehle für den Alltag, vom ersten npm init bis zum Veröffentlichen eines eigenen Pakets.

Paketverwaltung

npm init — Erstellt interaktiv eine neue package.json-Datei.

npm init -y — Erstellt eine package.json mit Standardwerten ohne Rückfragen.

npm install — Installiert alle in package.json gelisteten Abhängigkeiten.

npm install <package> — Installiert ein Paket und fügt es zu den dependencies hinzu.

npm install express

npm install -D <package> — Installiert ein Paket als Entwicklungsabhängigkeit (devDependency).

npm install -D jest

npm install -g <package> — Installiert ein Paket global auf deinem System.

npm install -g typescript

npm install <package>@<version> — Installiert eine bestimmte Version eines Pakets.

npm install react@18.2.0

npm uninstall <package> — Entfernt ein Paket und aktualisiert die package.json.

npm uninstall express

npm update — Aktualisiert alle Pakete auf die neueste Version innerhalb des semver-Bereichs.

npm update <package> — Aktualisiert ein bestimmtes Paket.

npm update express

Informationen & Auflisten

npm list — Zeigt installierte Pakete als Abhängigkeitsbaum an.

npm list --depth=0 — Zeigt nur die obersten installierten Pakete an.

npm list -g --depth=0 — Zeigt global installierte Pakete an.

npm outdated — Prüft, für welche Pakete neuere Versionen verfügbar sind.

npm view <package> — Zeigt detaillierte Infos zu einem Paket aus der Registry an.

npm view express

npm view <package> versions — Listet alle verfügbaren Versionen eines Pakets auf.

npm view express versions

npm search <keyword> — Durchsucht die npm-Registry nach Paketen.

npm search markdown parser

Skripte

npm run <script> — Führt ein in package.json definiertes Skript aus.

npm run build

npm start — Führt das start-Skript aus (Kurzform für npm run start).

npm test — Führt das test-Skript aus (Kurzform für npm run test).

npm run — Listet alle verfügbaren Skripte im aktuellen Paket auf.

Konfiguration

npm config list — Zeigt alle npm-Konfigurationseinstellungen an.

npm config set <key> <value> — Setzt einen Konfigurationswert.

npm config set registry https://registry.npmjs.org/

npm config get <key> — Liest einen Konfigurationswert aus.

npm config get registry

npm config delete <key> — Löscht einen Konfigurationswert.

npm config delete proxy

Cache & Aufräumen

npm cache clean --force — Leert den npm-Cache. Nützlich, wenn sich Pakete nicht installieren lassen.

npm cache verify — Prüft die Integrität des Caches.

npm prune — Entfernt überzählige Pakete, die nicht in package.json stehen.

npm dedupe — Reduziert Duplikate, indem Abhängigkeiten im Baum nach oben verschoben werden.

npx

npx <command> — Führt eine Paket-Binärdatei aus, ohne sie global zu installieren.

npx create-react-app my-app

npx <package>@<version> <command> — Führt eine bestimmte Version eines Pakets aus.

npx typescript@5.0 tsc --init

npx -p <package> <command> — Installiert ein Paket temporär und führt einen Befehl daraus aus.

npx -p typescript tsc --version

Audit & Sicherheit

npm audit — Prüft installierte Pakete auf bekannte Sicherheitslücken.

npm audit fix — Behebt verwundbare Abhängigkeiten automatisch, wo möglich.

npm audit fix --force — Behebt Schwachstellen und erlaubt dabei auch Major-Versionssprünge.

npm audit --json — Gibt die Audit-Ergebnisse als JSON zur maschinellen Verarbeitung aus.

Veröffentlichen

npm login — Authentifiziert dich bei der npm-Registry.

npm publish — Veröffentlicht das aktuelle Paket in der npm-Registry.

npm publish --access public — Veröffentlicht ein scoped-Paket als öffentlich.

npm publish --access public

npm version <type> — Erhöht die Paketversion (patch, minor oder major).

npm version patch

npm unpublish <package>@<version> — Entfernt eine bestimmte Version aus der Registry.

npm unpublish my-package@1.0.0

npm pack — Erstellt ein Tarball des Pakets zum lokalen Testen.

Fazit

npm ist auf jedem Node.js-System bereits vorhanden und deckt den kompletten Lebenszyklus eines JavaScript-Projekts ab – von der ersten Abhängigkeit bis zum veröffentlichten Paket. Beim Thema Sicherheit lohnt sich Vorsicht, denn die Lieferkette ist ein beliebtes Angriffsziel: npm install führt die Install-Skripte fremder Pakete aus, weshalb du bei nicht vertrauenswürdigen Quellen --ignore-scripts setzen solltest. Für reproduzierbare Builds nimmst du in CI und Deployment besser npm ci statt npm install – es installiert exakt das, was in der package-lock.json steht. Prüfe Abhängigkeiten regelmäßig mit npm audit, pinne Versionen, wo Reproduzierbarkeit zählt, und installiere globale Pakete nicht mit sudo – ein Node-Versionmanager hält Rechte und PATH sauberer.

  • npm Docs – offizielle Dokumentation zu npm-CLI, package.json und Registry (englisch)
  • npmjs.com – die öffentliche npm-Registry zum Suchen und Veröffentlichen von Paketen (englisch)
  • Node.js – die Laufzeitumgebung, die npm mitbringt

Verwandte Kommandos

  • apk – Paketmanager von Alpine Linux
  • apt – komfortable Paketverwaltung für Debian und Ubuntu
  • apt-get – klassisches Paket-Werkzeug für Debian und Ubuntu