Wie behandelt der Komponist mehrere Versionen desselben Pakets?

8

Dies könnte (sollte) schon mal irgendwo gefragt worden sein, aber ich kann keine Antwort finden. Wenn jemand einen Link zur Verfügung stellt, kann ich diesen Beitrag löschen!:

Ich versuche nur, einige der Funktionen des Komponisten (wahrscheinlich auch für andere Paketmanager) zu verstehen.

Grundsätzlich möchte ich nur wissen, was der Komponist in den folgenden Szenarien macht:

1.

Mein Hauptprojekt hat eine Abhängigkeit:

%Vor%

Mein externes Paket hat eine Abhängigkeit von

%Vor%

Installiert Composer guzzleithtp / guzzle einmal, weil es weiß, dass es nur einmal benötigt wird?

2. Gleiches Szenario, aber in Zukunft, wenn jemand das zu verwendende Hauptprojekt aktualisiert:

%Vor%

Wird der Composer jetzt zwei Versionen von guzzle (5 und 6) installieren (ich nehme an, dass dies das ist, was er tun sollte), oder wird er die höchste Version (d. h. 6) nehmen? Wenn es zwei Versionen gibt, führt dies zu Konflikten, weil die Namespaces identisch sein können.

Danke

    
timhc22 26.11.2014, 13:39
quelle

1 Antwort

14

Zu Frage 1

Yes Composer kann nur eine Version jeder Erweiterung / jedes Pakets installieren.

Zu Frage 2

Aufgrund der Antwort 1: Composer würde Ihr Hauptprojekt und das externe Paket als inkompatibel betrachten.

In diesem Fall könnten Sie

  • bleibe auch bei deinem Hauptprojekt bei Version 5.
  • Bitten Sie den Eigentümer des externen Pakets, auch auf Version 6 zu aktualisieren, wenn es kompatibel ist.
  • Fork das externe Paket und machen Sie es kompatibel zu Version 6 selbst
Pᴇʜ 26.11.2014, 15:52
quelle

Tags und Links