Node Package Manager

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
npm
Npm-logo.svg
Entwickler Isaac Z. Schlueter / npm, Inc.[1]
Aktuelle Version 5.4.2[2]
(15. September 2017)
Programmiersprache JavaScript
Kategorie Paketverwaltung
Lizenz Artistic License 2.0
deutschsprachig nein
www.npmjs.com

Der Node Package Manager (npm) ist ein Paketmanager für die JavaScript-Laufzeitumgebung node.js.

Unter dem Namen npm Registry bzw. npm Open Source wird ein Repository betrieben, über das 350.000 Pakete (Stand 13. Januar 2017[3]) unter einer freien Lizenz bereitgestellt werden.[4] Für private Pakete (also nicht Open Source) wird eine kommerzielle Version angeboten.[5]

Hinter der Entwicklung und dem Betrieb des Repository steht die Firma npm, Inc. mit Sitz in Oakland, Kalifornien.[6]

Verwendung[Bearbeiten | Quelltext bearbeiten]

Installation:

$ npm install %Modulname

Probleme[Bearbeiten | Quelltext bearbeiten]

Wegen einer Meinungsverschiedenheit im Bezug auf den Namen eines Pakets und der Reaktion der npm Registry darauf löschte im März 2016 ein Entwickler sämtliche seiner Pakete aus dem Repository, unter anderem auch left-pad. Darauf hin konnte eine Vielzahl von Paketen wie Babel (ein JSX-nach-JavaScript-Compiler) und React nicht mehr compiliert werden, weil diese das Paket benötigen.[7][8][9] Dies löste eine Debatte über den Einsatz von vielen Mikro-Modulen in der JavaScript-Community und die Abhängigkeit von einem kommerziell geführten Repository aus.[10] Des Weiteren wurden im Repository Maßnahmen gesetzt, um in Zukunft solche Probleme zu vermeiden: Veröffentlichte Versionen von Paketen können nur innerhalb von 24 Stunden selbstständig oder durch Kontaktieren des Supports zurückgezogen werden.[11][12][13]

Name[Bearbeiten | Quelltext bearbeiten]

npm-expansions auf npmjs.com

Die Bezeichnung Node Package Manager geht auf die Readme-Datei des Projekts zurück.[14] Im Dezember 2014 wurde die Bezeichnung allerdings entfernt.[15] Auf der FAQ-Seite des Projekts wurde zwischen August 2011 und November 2015 npm als rekursives Backronym für „npm is not an acronym“ („npm ist kein Akronym“) definiert.[16][17] Seit September 2014 werden Community-basiert mögliche Erklärungen für npm im GitHub-Projekt npm-expansions gesammelt und auf der Webseite angezeigt.[18]

Siehe auch[Bearbeiten | Quelltext bearbeiten]

  • Bower – Paketverwaltung für clientseitige JavaScript-Pakete

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. About
  2. api.github.com. (abgerufen am 15. September 2017).
  3. State of the Union: npm. In: Linux.com | The source for Linux information. Abgerufen am 16. Januar 2017.
  4. npm Open Source. In: npmjs.com. Abgerufen am 24. März 2016 (englisch).
  5. npm Private Packages. In: npmjs.com. Abgerufen am 24. März 2016 (englisch).
  6. About npm. In: npmjs.com. Abgerufen am 24. März 2016 (englisch).
  7. JavaScript-Paket aus NPM entfernt: Node, Babel und Co. scheiterten beim Build. In: heise online. 23. März 2016, abgerufen am 25. März 2016.
  8. Azer Koçulu: I’ve Just Liberated My Modules. In: Medium. 22. März 2016, abgerufen am 25. März 2016 (englisch).
  9. Mike Roberts: A discussion about the breaking of the Internet. In: Medium. 23. März 2016, abgerufen am 25. März 2016 (englisch).
  10. NPM and Left-Pad: Have We Forgotten How to Program? In: Hacker News. Abgerufen am 25. März 2016.
  11. kik, left-pad, and npm. In: blog.npmjs.org. 23. März 2016, abgerufen am 25. März 2016 (englisch).
  12. changes to npm’s unpublish policy. In: blog.npmjs.org. 29. März 2016, abgerufen am 30. März 2016 (englisch).
  13. JavaScript: npm ändert Unpublish Policy für Pakete. In: heise online. 30. März 2016, abgerufen am 30. März 2016.
  14. Initial drop. Ugly, sketchy, and not even yet quite a "work in progr…" · npm/npm@4626dfa. In: GitHub. 29. September 2009, abgerufen am 7. April 2016: „npm – The Node Package Manager“
  15. npm is a nice JavaScript package manager · npm/npm@cbb890e. In: GitHub. 12. Dezember 2014, abgerufen am 7. April 2016.
  16. Question about Capitalization · npm/npm@9c0b248. In: GitHub. 6. August 2011, abgerufen am 7. April 2016: „Contrary to the belief of many, "npm" is not in fact an abbreviation for "Node Package Manager". It is a recursive bacronymic abbreviation for "npm is not an acronym".“
  17. doc: remove FAQ · npm/npm@b88c37c. In: GitHub. 25. November 2015, abgerufen am 7. April 2016.
  18. npm/npm-expansions. In: GitHub. Abgerufen am 7. April 2016: „What does n-p-m stand for?“