Kann mir jemand den Unterschied zwischen NPM
, Bower
und Composer
erklären.
Sie sind alle Paketmanager - richtig?
Aber wann sollte jeder verwendet werden?
Außerdem scheint jeder eine JSON-Datei zu haben. Speichert diese alle Pakete, die Sie benötigen, damit sie von cmd line installiert werden können? Warum brauchen Sie diese Datei?
npm
ist der Paketmanager von nodejs. Es zielt daher auf NodeJs-Umgebungen ab, was normalerweise serverseitige NodeJs-Projekte oder Befehlszeilenprojekte bedeutet (Bower selbst ist ein npm-Paket). Wenn Sie irgendetwas mit nodejs machen wollen, dann werden Sie npm verwenden.
bower
ist ein Paketmanager, der auf (Front-End-) Webprojekte abzielt. Sie benötigen npm und nodejs, um bower zu installieren und auszuführen, obwohl bower-Pakete nicht speziell für nodejs gedacht sind, sondern für die "Browser" -Umgebung.
composer
ist ein Abhängigkeitsmanager, der auf PHP-Projekte abzielt. Wenn Sie etwas mit Symfony (oder einfach altem PHP) machen, ist dies wahrscheinlich der richtige Weg
Zusammenfassend:
Und ja, die "json" -Dateien beschreiben grundlegende Paketinformationen und Abhängigkeiten. Und ja, sie werden gebraucht.
Was ist nun mit den READMEs? :-)
[Update, vier Jahre später]
bower
ist veraltet und sollte nicht mehr für neue Projekte verwendet werden. Es wurde größtenteils in das Knotenabhängigkeitsmanagement integriert (von der Website: "Während Bower gewartet wird, empfehlen wir die Verwendung von Yarn und Webpack oder Parcel für Front-End-Projekte").yarn
ist als besseres npm
aus dem Holz gekommen (Behebung einiger von npm
Fehlern), und dies ist wirklich das, was Sie jetzt verwenden sollten, da es das neue De- Fakto-Standard, wenn Sie Front-End- oder Node-Entwicklung durchführen. Es verbraucht das gleiche package.json
als npm und ist damit fast vollständig kompatibel.composer
an dieser Stelle nicht verwenden (weil ich php
nicht verwenden würde), obwohl es noch lebendig und beliebt zu sein scheintNPM - Paketmanager für nodejs. Es ist die weltweit größte Software-Registry. Open-Source-Entwickler aus allen Kontinenten verwenden npm, um Pakete freizugeben und auszuleihen. Pakete sind so strukturiert, dass Sie Abhängigkeiten und Versionen verfolgen können.
Bower - Paketmanager für Front-End-Webprojekte. Bower kann Komponenten verwalten, die HTML, CSS, JavaScript, Schriftarten oder sogar Bilddateien enthalten. Bower verkettet oder verkleinert keinen Code und unternimmt nichts anderes - es installiert nur die richtigen Versionen der Pakete, die Sie benötigen, und deren Abhängigkeiten. Es ist auch ein npm-Paket. So kann es per npm installiert werden.
npm install bower
Composer - Composer ist ein Tool für das Abhängigkeitsmanagement in PHP. Es ist kein Paketmanager im gleichen Sinne wie Yum oder Apt are. Es handelt sich um Pakete oder Bibliotheken, verwaltet sie jedoch auf Projektbasis und installiert sie in einem Verzeichnis in Ihrem Projekt. Standardmäßig wird nichts global installiert. Daher ist es ein Abhängigkeitsmanager.
Eine Geschichte von zwei Paketmanagern: Composer und NPM
nterschied zwischen Bower und NPM
Hier ist eine App , um diese Paketmanager zu unterscheiden. Es wird gezeigt, wie eine Anwendung mehrere Paketmanager gleichzeitig nutzen kann.