Bei npm handelt es sich um einen Paketmanager für Softwarelösungen, der in der JavaScript-Laufzeit-Umgebung Node.js zum Einsatz kommt. Das zugehörige frei verfügbare Repository umfasst inzwischen mehrere Hunderttausend Einträge.
Der Node-Paketmanager npm ist die zentrale Anlaufstelle für Entwickler, die Code-Sharing betreiben wollen.
(Bild: npm)
Die Buchstaben npm waren ursprünglich eine Abkürzung für „Node Package Manager“ – also für eine Lösung zum Packen von Software in der gleichnamigen JavaScript-Runtime-Umgebung. Allerdings prägte sich das Akronym derart ein, dass der ursprüngliche Name schließlich komplett aufgegeben wurde - die drei Buchstaben wurden zur offiziellen Bezeichnung.
Die Funktionsweise von npm
Der zentrale Baustein von npm ist das Repository, die sogenannte „npm Registry“. Für eine professionelle Nutzung zum Zweck der Softwareentwicklung steht es unter einer freien Lizenz bereit. Für „private“ Projekte ist es auch möglich, auf eine kommerzielle Version zugreifen.
Ein Repository ist ein Verzeichnis von gespeicherten digitalen Objekten. Hier sind Code-Pakete zu finden. Diese stammen überwiegend von npm-Nutzern, die ihre eigene Software zur Verfügung stellen wollten. Sie mussten hierfür ihre Software mittels npm packen und übertragen.
Vereinfacht gesprochen ist npm also nichts weiter als ein automatisiertes und relativ intelligentes Verpackungssystem: Es erkennt, was verpackt werden soll, sucht die hierfür passende Verpackung aus und macht sich ans Werk. Anschließend wird ein Eintrag erstellt in der Bibliothek erstellt.
Der praktische Einsatz funktioniert über folgende Bausteine:
Der CLI-Client gestattet den Download und die Installation der Software.
Der Inhalt eines Pakets muss in JSON geschrieben sein.
„Name“ und „Version“ müssen in der Definitionsdatei vorhanden sein. Weitere zwingende Bedingungen gibt es nicht.
Zudem bietet npm auch eine Abhängigkeitsverwaltung.
Probleme in der Nutzung von npm
Der Paketmanager wurde 2010 von Isaac Z. Schlueter veröffentlicht. Inzwischen verwaltet ihn die zu Microsoft gehörende npm Inc., aber der Charakter der Lösung hat sich dennoch nicht verändert. Sie wird überwiegend von Nutzern weiterentwickelt und gepflegt. Dadurch entstehen zwei zentrale Probleme.
Erstens ist die Sicherheit kritisch. Es ist leicht, Schadcode einzuspielen. Dies geschieht immer wieder. Da über npm auch Abhängigkeiten verwaltet werden, sind die Folgen besonders brisant.
Zweitens kann eine Person die Funktionsfähigkeit des Managers insgesamt schädigen. Dies ist 2016 passiert. Wegen einer Meinungsverschiedenheit löschte einer der Entwickler seine gesammelten Einträge aus dem Repository. In der Folge waren zahlreiche Pakete nicht mehr kompilierbar, da sie in einer Abhängigkeit zu den gelöschten Daten standen.
(ID:47359288)
Stand vom 30.10.2020
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://support.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.