“PHP Composer” im Vergleich zu “Ruby Gems and Bundler”

(Als erstes ist diese Frage keine Frage "Was ist besser". Ich möchte nur wissen, wie ähnlich sie sind und sich in der Funktionsperspektive unterscheiden.)

Ich bin php Entwickler und derzeit lernenRubi. In diesen Tagen sind viele PHP-Entwickler aufgefordert, @ zu verwendComposer für das Abhängigkeitsmanagement. Bevor ich Fragen stelle, möchte ich mein Wissen zunächst überprüfen.

Nach meinem Verständnis,

Composer ist ein Tool zur Verwaltung von Abhängigkeiten für PHP-Bibliotheken (oder -Pakete).Composer installierte PHP-Bibliothek pro Projektbasis (sog. lokal). Ich meine, die für project1 installierte PHP-Bibliothek kann nicht für project2 wiederverwendet werden, ohne sie erneut für project2 zu installieren.

Ich habe bemerkt, dassRubi hat auch ein sehr gutes Abhängigkeitsmanagement-Tool "RubyGems ". Nach meinem Wissen,

"RubyGems "ist ein Paketmanager für" Gems "."Gem "ist ein Ruby-Programm oder eine Bibliothek, die in einem Standardformat zum Teilen gepackt ist. (Rails ist auch ein Juwel.)Gem kann mit diesem Befehl installiert werdengem install sinatra.Aber es gibt auch sogenannte "Bundler ", das auch ein Juwel zum Bündeln von Edelsteinen für eine Anwendung ist.Wenn Befehlbundle install wird ausgeführt (unter einem bestimmten Ruby-Projektverzeichnis), alle in der Gemfile aufgelisteten Gems werden für dieses Ruby-Projekt installiert.

Also, meine Fragen sind hier.

Composer ähnelt obRubyGems oderBundler ?Wenn ausgeführtgem install sinatra, ist es auf systemweiter Ebene installiert?Wenn ausgeführtbundle install, die Gems werden entweder lokal (nur in diesem Projekt) oder auf systemweiter Ebene installiert?Wenn ich zwei Versionen von einer brauchegem (für z. B. sinatra) Wie gehe ich bei verschiedenen Projekten vor?

(Entschuldigung für meine lange Frage. Wenn mein Verständnis nicht stimmt, bitte nochmals entschuldigen und das Richtige angeben.)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage