Zum Hauptinhalt Zur Navigation Zur Suche

Javascript und Node.js: NPM ist weltweit größtes Paketarchiv

Programmiersprachen und größere Community-Projekte pflegen oft ihre eigenen Pakete für Erweiterungen. Das für Node.js und Javascript genutzte NPM-Archiv ist das mit Abstand derzeit größte dieser Art. Diese Paketvielfalt hat aber nicht nur Vorteile.
/ Sebastian Grüner
25 Kommentare Auf Google folgen (öffnet im neuen Fenster)
NPM ist die wohl größte zentrale Quelle für Softwarepakete einer Community. (Bild: Node.js/Youtube.com)
NPM ist die wohl größte zentrale Quelle für Softwarepakete einer Community. Bild: Node.js/Youtube.com

Fehlt der Standardbibliothek einer Programmiersprache eine wichtige und für viele Entwickler hilfreiche Funktion, findet sich oft sehr schnell eine Community, die derartige Erweiterungen erstellt und als Paket über ein zentrales Archiv bereitstellt. Laut einer Auswertung der NPM-Angestellten Ashley Williams(öffnet im neuen Fenster) ist das gleichnamige Paketarchiv für Node.js und Javascript die wohl derzeit größte Softwarequelle dieser Art überhaupt.

In einem Vortrag auf der Konferenz Node.js Interactive hat Williams einige Statistiken zu dem NPM-Archiv, der sogenannten Registry, vorgestellt. Dies umfasse derzeit rund 350.000 Pakete, das seien mehr als doppelt so viele Pakete, wie sich in dem nächstgrößeren Archiv finden würden – jenem von Apache Maven. Das Wachstum des NPM-Archivs sei zudem in den vergangenen Jahren exponentiell gewesen und halte weiterhin an.

Williams sagt darüber hinaus: "Der Nachteil ist, dass 80 Prozent der NPM-Nutzer Front-End entwickeln und 20 Prozent NPM ausschließlich für Front-End-Code nutzen. NPM wurde aber für Leute geschrieben, die Module in Node.js schreiben und nicht für Entwickler, die Anwendungen oder clientseitiges Javascript schreiben. Dies bedeutet, dass NPM-Werkzeuge manchmal unzureichend für das sind, was die Benutzer machen möchten." Dafür gebe es aber auch andere Werkzeuge der Community, die dennoch auf die Registry zugreifen.

Ein weiterer Nachteil des Paketsystems von NPM, auf den Williams nicht eingeht, zeigte sich im Frühjahr vergangenen Jahres. Der Maintainer eines vergleichsweise sehr kleinen Pakets hatte dieses aus NPM ausgelistet. Da das betroffene Modul "left-pad" aber von sehr vielen anderen großen und weitverbreiteten Paketen als Abhängigkeit genutzt worden ist, schlugen deren Builds fehl. Dies führte zu einer grundlegenden Diskussion über den Aufbau und die Nutzung von NPM-Paketen.


Relevante Themen