NPM / Yarn / PNPM

Paketmanager für JavaScript.

  • Funktion: Verwalten von Bibliotheken und Abhängigkeiten.
  • Beispiel: npm install react.

NPM, Yarn und PNPM sind Paketmanager, die in der Web- und Softwareentwicklung eingesetzt werden, um Abhängigkeiten von Projekten zu verwalten. Abhängigkeiten sind externe Bibliotheken, Frameworks oder Module, die ein Projekt benötigt, um korrekt zu funktionieren. Ein Paketmanager erleichtert es, diese Abhängigkeiten automatisch herunterzuladen, zu installieren, zu aktualisieren und sauber zu organisieren, ohne dass Entwickler sie manuell verwalten müssen.

NPM, kurz für Node Package Manager, ist der Standardpaketmanager für Node.js und war lange Zeit der am weitesten verbreitete. Es ermöglicht das einfache Hinzufügen von Bibliotheken, das Verwalten von Versionen und das Skripten von Entwicklungs- und Build-Prozessen. NPM legt dabei die Pakete in einem lokalen Verzeichnis ab, sodass verschiedene Projekte auf demselben Rechner unterschiedliche Versionen derselben Bibliothek nutzen können.

Yarn wurde von Facebook entwickelt, um einige Schwächen von NPM, wie lange Installationszeiten und Probleme mit der Konsistenz der Versionen, zu beheben. Yarn bietet einen schnelleren und deterministischeren Installationsprozess, der dafür sorgt, dass alle Entwickler eines Projekts exakt dieselben Versionen der Pakete nutzen. Durch einen eigenen Lockfile-Mechanismus wird die Konsistenz zwischen den Umgebungen gewährleistet.

PNPM ist ein vergleichsweise neuer Ansatz, der die Speicher- und Performanceprobleme großer Projekte adressiert. Anstatt Pakete in jedem Projekt erneut zu speichern, nutzt PNPM eine globale Paketbibliothek und erstellt Verweise, was Speicher spart und Installationen beschleunigt. Gleichzeitig bleibt die Isolierung der Projekte erhalten, sodass Konflikte zwischen Abhängigkeiten vermieden werden.

Alle drei Paketmanager erleichtern den Entwicklungsprozess erheblich, da sie wiederholbare Builds, Versionskontrolle und einfache Updates von Bibliotheken ermöglichen. Sie sind unverzichtbare Werkzeuge in modernen Webprojekten, insbesondere bei komplexen Anwendungen mit zahlreichen externen Abhängigkeiten, und tragen wesentlich dazu bei, dass Projekte effizient, stabil und konsistent entwickelt werden können.

Privacy Preference Center