An composer update Ich bekomme einfach eine Meldung, dass das Paket nicht aufgelöst werden konnte. Es werden keine Symlinks erstellt und kein Paket installiert. Ich habe buchstäblich die Hälfte meines Tages damit verbracht, dies herauszufinden, ohne Erfolg.
Die Version dev-master ist hier der Schlüssel (vorausgesetzt, Sie arbeiten am Master-Zweig). Das war leicht ärgerlich, aber dank einiger hilfreicher Mitwirkender von Komponisten konnte ich das endlich in den Griff bekommen.
Ich hoffe, dies kann jemandem in der Zukunft helfen.
@BradKent Ich würde dringend davon abraten, die zu verwenden "minimum-stability": "dev" was es bedeutet: Sie wollen von allen Abhängigkeiten die neueste instabile Version. Das dev- Präfix bzw -dev Suffix wird dies nur für das betreffende Paket ändern.
– Nemo64
11. Oktober 2016 um 13:22 Uhr
Solange du es auch hast "prefer-stable": true, du bist in Ordnung. Es werden nur Entwicklungspakete verwendet, wenn dies erforderlich ist, um eine Abhängigkeit zu erfüllen.
– Hackel
15. August 2017 um 22:51 Uhr
Als Alternative dazu den ganzen Composer einstellen minimum-stability: dev Sie können einzelne Pakete auf diese Weise über kennzeichnen dev-master oder *@dev für die Fassung. Für alle, die dies unter Windows ausführen, müssen Sie möglicherweise auch hinzufügen {"options": { "symlink": false }} in die Repository-Definition, sodass Sie vom Junctioning zum Spiegeln des lokalen Pakets wechseln.
– Leith
6. Oktober 2017 um 8:52 Uhr
Ich habe alle auf dem Stack geposteten Lösungen ausprobiert und immer noch nichts
– Arek Kostrzeba
27. Juni 2018 um 21:49 Uhr
Was mir bei der Lösung geholfen hat, war composer clear-cache und dann laufen composer update.
Erläuterung: Ich hatte es anfangs versucht composer install my/package was bei Abhängigkeitsversionen fehlgeschlagen ist. Also musste ich einige lokale Änderungen vornehmen, damit es mit Laravel 6.0 funktioniert. Es wurde jedoch weiterhin nach der falschen Version von Laravel-Paketen gesucht, was mich zu der Annahme veranlasste, dass mein lokales Repository, das ich in eingestellt hatte, nicht angezeigt wurde repositories Schlüssel mit "type": "path". Ich habe zuerst sichergestellt, dass der Pfad existiert und ich mich auf dem richtigen Zweig befinde (master weshalb ich benutze dev-master in meinem composer.json). Nachdem ich den Composer-Cache gelöscht und das Update ausgeführt hatte, wurde es unter Verwendung meines lokalen Pfads ohne Abhängigkeitsprobleme aktualisiert.
\* funktionierte nicht, dev-master auch nicht. Es musste dev-feature/the-new-package sein.
TylersSN
Fügen Sie für zukünftige Googler Ihre Version zum hinzu composer.json und fordern dann das Paket mit der --prefer-source Möglichkeit.
Zum Beispiel: composer require your-vendor/package:1.0.* --prefer-source
Für mich war das Problem, dass ich vergessen habe, den Repository-Ordner mit Docker zu mounten, sodass der lokale Webserver ihn nicht erreichen konnte. Achten Sie auch darauf
Alvaro González
Composer scheint verwirrt zu sein, wenn das Paket bereits aus dem ursprünglichen Repository installiert ist: Es ruft Ihr lokales Repo ab und aktualisiert es komponist.lock von seinem composer.json versucht aber nicht einmal, Änderungen in das Herstellerverzeichnis zu holen.
In meinem Fall war mein Problem die Repository-Prioritäten, “Wenn Composer Abhängigkeiten auflöst, sucht es ein bestimmtes Paket im obersten Repository”, überprüfen Sie es https://getcomposer.org/doc/articles/repository-priorities.md
TLDR; Stellen Sie in composer.json sicher, dass Ihr lokaler Pfad zuerst unter Repositorys angezeigt wird