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 expressnpm install -D <package> — Installiert ein Paket als Entwicklungsabhängigkeit (devDependency).
npm install -D jestnpm install -g <package> — Installiert ein Paket global auf deinem System.
npm install -g typescriptnpm install <package>@<version> — Installiert eine bestimmte Version eines Pakets.
npm install react@18.2.0npm uninstall <package> — Entfernt ein Paket und aktualisiert die package.json.
npm uninstall expressnpm update — Aktualisiert alle Pakete auf die neueste Version innerhalb des semver-Bereichs.
npm update <package> — Aktualisiert ein bestimmtes Paket.
npm update expressInformationen & 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 expressnpm view <package> versions — Listet alle verfügbaren Versionen eines Pakets auf.
npm view express versionsnpm search <keyword> — Durchsucht die npm-Registry nach Paketen.
npm search markdown parserSkripte
npm run <script> — Führt ein in package.json definiertes Skript aus.
npm run buildnpm 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 registrynpm config delete <key> — Löscht einen Konfigurationswert.
npm config delete proxyCache & 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-appnpx <package>@<version> <command> — Führt eine bestimmte Version eines Pakets aus.
npx typescript@5.0 tsc --initnpx -p <package> <command> — Installiert ein Paket temporär und führt einen Befehl daraus aus.
npx -p typescript tsc --versionAudit & 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 publicnpm version <type> — Erhöht die Paketversion (patch, minor oder major).
npm version patchnpm unpublish <package>@<version> — Entfernt eine bestimmte Version aus der Registry.
npm unpublish my-package@1.0.0npm 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.
Weiterführende Links
- 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