Lösen von Dependency Hell mit Composer

9

Dies ist das Szenario.

Sie haben Paket A und Paket B in Ihrer Datei composer.json (Ihre App hängt von diesen 2 Paketen ab).

Beide Pakete A und B hängen von Paket C ab, aber von verschiedenen Versionen. Sprich A hängt von C v2.1 ab, und B hängt von C v2.2 ab.

Und Sie erhalten Versionskonflikte.

Sowohl A, B und C sind Pakete von Drittanbietern.

Wie löst man das?

    
umpirsky 29.09.2012, 22:14
quelle

2 Antworten

3

Dies ist ein Hack, aber Sie werden wahrscheinlich weiterkommen.

Sie könnten die Repositories für die Pakete "A", "B" und "C" überschreiben und dafür sorgen, dass "A" und "B" von der gleichen Version von "C" abhängen (möglicherweise reicht es aus, Repositories zu überschreiben) nur für "A" und "B".

Dies sollte so lange funktionieren, wie sowohl "A" als auch "B" mit der neuesten Version von "C" arbeiten können (also hat wahrscheinlich ein Betreuer die Paketversion nicht aktualisiert). Wenn das der Fall ist, würde ich auch in Erwägung ziehen, eine Pull-Anforderung an das Projekt zu senden, das eine ältere Version einer Abhängigkeit hat.

    
Jakub Zalas 30.09.2012, 08:39
quelle
-1

Wir diskutieren es in dieser Mailingliste: Ссылка

"Kein Konflikt" Technik muss in PHP implementiert werden, es ist kein Komponist Fehler

    
Joseph 14.02.2014 16:49
quelle

Tags und Links