2017-03-02 2 views
0

Ich habe ein Laravel 5.3-Projekt, das ich auf Laravel 5.4 aktualisiere und aufgrund einiger Änderungen in Laravel gibt es einige Abhängigkeiten, die aktualisiert werden müssen. Jede Abhängigkeit außer einer hatte eine Aktualisierung, zu der ich sicher wechseln konnte.Wie gehe ich mit veralteten/nicht gepflegten Abhängigkeiten um, die ich lokal verwalten könnte?

Überprüfen von GitHub Ich fand andere mit dem gleichen Problem und eine einfache Lösung zur Behebung des Problems. Aus unbekannten Gründen hat der Entwickler der Abhängigkeit jedoch angegeben, dass er sie nicht mehr unterstützen wird und sie als veraltet betrachten würde. Es gibt Pull-Requests, um das Problem zu beheben, aber niemand kann diese Anfragen akzeptieren.

Was ich tun kann, ist, zu meinem Lieferantenordner zu navigieren und die Änderungen selbst vorzunehmen, aber ich weiß, dass dies nicht der richtige Weg ist, da die Änderungen irgendwann überschrieben werden und wir wieder auf Platz eins sind.

Wie gehe ich mit dem Problem von veralteten/nicht gepflegten Abhängigkeiten mit Problemen um, die ich selbst beheben oder mit Hilfe anderer lösen könnte, die ihre Lösungen teilen?

1) Ich könnte die Dateien vom Hersteller kopieren und versuchen, nur die Drittanbieter-Dateien in mein Projekt zu integrieren.

2) Ich könnte das Repository forkieren und die erforderlichen Änderungen vornehmen und entweder meine gegabelte Version zu packagist hinzufügen (fühlt sich nicht richtig an) oder meine gegabelte git als Repository in der Datei composer.json hinzufügen.

Ich bin offen für andere Ideen, danke!

Antwort

0

Ich werde hinzufügen, wie ich es für jetzt gelöst habe. Wenn jemand eine bessere Antwort hat, würde ich es gerne annehmen.

In meinem Fall ist das Repository in Frage ein Github-Repository, das ich abzweigen könnte. Ich kann dann das Repository klonen und notwendige Änderungen vornehmen. Nehmen wir an, dass das Folgende in meiner composer.json-Datei enthalten ist.

"require": { 
    "someoneelse/project": "^1.0" 
} 

Inside my composer.json Datei fand ich das "someoneelse/Projekt" für die Abhängigkeit und verändern die aktuelle Version Anforderung "^ 1.0" zu "dev-Master". Dies wird das letzte Commit aus dem Master-Zweig ziehen und minimale Stabilität als Dev setzen.

Ich habe dann mein Repository zu composer.json hinzugefügt. Sie können dieses Update Komponist so wie tun

"repositories": [ 
    { 
     "type": "git", 
     "url": "https://github.com/markustenghamn/project.git" 
    } 
], 
"require": { 
    "someoneelse/project": "dev-master" 
} 

Rennen wird nun die neueste Version von meinem gegabelt Repository holen. Wenn jemand beschließt, wieder an diesem Projekt zu arbeiten, kann ich es jederzeit wieder ändern. Die Abhängigkeit erfordert möglicherweise andere Abhängigkeiten in der Datei "composer.json", in der die Projekte gegabelt sind. Denken Sie daran, diese bei Bedarf zu aktualisieren.

Verwandte Themen