cryeffect.net

NPM Pakete Updaten – Abhängigkeiten schnell und sicher aktualisieren

Übersicht: npm-check-updates

Was ist npm-check-updates (ncu)?

npm-check-updates – kurz ncu – prüft deine package.json auf neuere Paketversionen und aktualisiert die Versionsbereiche auf Wunsch automatisch. Im Gegensatz zu npm outdated zeigt ncu auch Updates an, die außerhalb deines aktuellen SemVer-Bereichs liegen (z. B. Major-Releases), und kann diese direkt in der package.json anheben.

Warum ist das wichtig?

  • Sicherheit: schnell auf Patches und Security-Fixes reagieren
  • Stabilität: Bugfixes und Performance-Verbesserungen erhalten
  • Sichtbarkeit: Major-Updates erkennen, die npm outdated ggf. ausblendet
  • Geschwindigkeit: Interaktiv oder „alles auf einmal“ aktualisieren

Installation

1
2
3
4
5
# Global installieren
npm i -g npm-check-updates

# Alternativ ohne globalen Install
npx npm-check-updates --help

Schnellstart

1
2
3
4
5
6
7
8
9
10
11
# 1) Verfügbare Updates anzeigen (alle Pakete)
ncu

# 2) Interaktiv aktualisieren (paketweise auswählen)
ncu -i

# 3) Alles auf einmal in der package.json anheben
ncu -u

# 4) Neue Versionen installieren (Lockfile aktualisieren)
npm install

Hinweis: Mit ncu -i kannst du komfortabel alle gewünschten Pakete auswählen – du kannst auch einfach alle markieren und so „in einem Rutsch“ updaten. Wer direkt alles anheben möchte, nutzt ncu -u und installiert anschließend mit npm install.

Praxisbeispiele

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Nur bestimmte Pakete aktualisieren
ncu -f react,react-dom -u && npm i

# Bestimmte Pakete ausschließen
ncu -x typescript -u && npm i

# Pre-Releases berücksichtigen
ncu --target latest --pre && npm i

# Monorepo/Workspaces (npm/pnpm/yarn)
# Aktualisiert alle package.json in Workspaces
a) npm: ncu --workspaces -u && npm i
b) pnpm: npx -y npm-check-updates --deep -u && pnpm i
c) yarn: npx -y npm-check-updates --deep -u && yarn install

Tipps:

  • --target minor bzw. --target patch beschränkt Updates
  • --reject (oder -x) und --filter (oder -f) helfen bei feiner Kontrolle
  • --doctor testet Updates schrittweise (Zeitaufwändig, aber sicher)

ncu vs. npm outdated – kurzer Vergleich

Themanpm outdatedncu
Zeigt Major-Updates außerhalb SemVer-BereichEher neinJa
Aktualisiert package.json automatischNeinJa (mit -u/-i)
Interaktiver ModusNeinJa (-i)
Lockfile anpassenNeinNein (macht npm install)

Beide Tools ergänzen sich: Nutze npm outdated für den schnellen Überblick und ncu, um gezielt zu aktualisieren.

Best Practices

  • Erzeuge vor Massenupdates einen Branch und Commit (z. B. chore(deps): update with ncu).
  • Führe Tests/Linting nach npm install aus (CI/CD-Pipeline).
  • Prüfe Breaking Changes (CHANGELOG/Release Notes), insbesondere bei Major-Updates.
  • Achte auf peerDependencies – Konflikte früh erkennen.
  • Aktualisiere regelmäßig statt seltener „Big Bang“-Upgrades.

Häufige Stolpersteine (und Lösungen)

  • Peer-Dependency-Konflikte: Versionen abstimmen, ggf. Producer/Consumer updaten.
  • ERESOLVE/ENGINES-Fehler: Node-/npm-Version prüfen (engines-Feld), ggf. nvm verwenden.
  • Lockfile-Diff zu groß: Erst ncu anwenden, dann ein npm ci && npm test im CI erzwingen.

Fazit

npm-check-updates (ncu) macht Dependency-Updates deutlich schneller. Installiere das Tool global mit npm i -g npm-check-updates und aktualisiere deine Pakete interaktiv mit ncu -i – oder hebe alle Versionen auf einmal mit ncu -u an und schließe mit npm install ab. So bleibst du mit minimalem Aufwand sicher und aktuell.