Heyho,
ich beschäftige mich nur noch selten mit PHP, daher bin ich mit composer ein wenig aus der Übung. Leider läuft die Installation der composer dependencies in der CI schief, da composer versucht, alle Pakte zu aktualisieren.
Da liegt natürlich auch eine composer.lock herum, die beim Installieren verwendet werden soll. Wenn ich per ssh auf dem CI-Server bin, läuft die Installation der Pakete in der bash mit dem CI-User problemlos durch.
Soweit fein. Wenn ich die CI `composer install` ausführen lasse, schaut das leider anders aus.
Anstatt die Pakete nur zu installieren, versucht composer jedoch alle Pakete zu aktualisieren. Das sieht dann so aus:
Das Upgrade geht leider schief. Composer soll aber auch nicht aktualisieren.
Das hab ich getan:
- aktuellste composer version eingespielt
- composer docs gelesen
- möglichst identisches environment beim Testen auf der shell verwendet
- die shell in der CI gewechselt (bash -c "",...)
- globale composer config existiert nicht für den Benutzer
- repository mit und ohne composer vendor dir aus dem cache ausgecheckt
Hat jemand ne Idee, was da schief geht? Merci
ich beschäftige mich nur noch selten mit PHP, daher bin ich mit composer ein wenig aus der Übung. Leider läuft die Installation der composer dependencies in der CI schief, da composer versucht, alle Pakte zu aktualisieren.
Da liegt natürlich auch eine composer.lock herum, die beim Installieren verwendet werden soll. Wenn ich per ssh auf dem CI-Server bin, läuft die Installation der Pakete in der bash mit dem CI-User problemlos durch.
Code:
$ composer install Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Package operations: 26 installs, 0 updates, 0 removals - Installing ... Generating autoload files 5 packages you are using are looking for funding. Use the `composer fund` command to find out more!
Code:
$ composer install --prefer-dist --no-scripts --no-progress --no-interaction --no-dev $ composer dump-autoload --optimize --no-dev $ composer run-script --no-dev post-install-cmd
Code:
Installing dependencies from lock file Verifying lock file contents can be installed on current platform. Package operations: 0 installs, 18 updates, 0 removals - Upgrading composer/installers (v1.10.0 => v1.11.0): Extracting archive - Upgrading composer/ca-bundle (1.2.9 => 1.2.10): Extracting archive - Upgrading maxmind-db/reader (v1.10.0 => v1.10.1): Extracting archive ...
Das hab ich getan:
- aktuellste composer version eingespielt
- composer docs gelesen
- möglichst identisches environment beim Testen auf der shell verwendet
- die shell in der CI gewechselt (bash -c "",...)
- globale composer config existiert nicht für den Benutzer
- repository mit und ohne composer vendor dir aus dem cache ausgecheckt
Hat jemand ne Idee, was da schief geht? Merci
Kommentar