Composer Installation schlägt fehl

Hallo zusammen,

wir versuchten die elasticsearch komponente über den composer zu installieren und erhalten folgende Fehlermeldung:

Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run composer update or composer update <package name>.

  • Required package „shopware/core“ is not present in the lock file.
  • Required (in require-dev) package „phpunit/phpunit“ is in the lock file as „9.5.2“ but that does not satisfy your constraint „~9.5.17“.
    This usually happens when composer files are incorrectly merged or the composer.json file is manually edited.
    Read more about correctly resolving merge conflicts Resolving merge conflicts - Composer
    and prefer using the „require“ command over editing the composer.json file directly Command-line interface / Commands - Composer
    Script @composer install --working-dir vendor/shopware/recovery --no-interaction --no-scripts handling the post-update-cmd event returned with error code 4

auch ein composer update funktioniert nicht.
hatte jemand schon einmal das problem?

Mach mal folgendes bitte:

composer self-update

danach

composer update

Wenn in der composer.json ebenfalls „~9.5.17“ steht, sicher Dir bitte mal die composer.lock weg, änder manuell in der composer.json auf „9.5.2“, um dann nochmal composer update abzufeuern.

Hallo Marco,

nachdem das selfupdate auch nicht funktioniert hat, hab ich den composer entfernt und neu installiert.
hab dann das self update ausführen können, wobei die neueste version bereits installiert war.

hab dann composer update ausgeführt. Selbes Ergebnis. in der json den wert geändert, wie vorgeschlagen … Selbes Ergebnis … in der .lock den Wert geändert. Selbes Ergebnis.

composer update
> [ ! -f vendor/autoload.php ] || $PHP_BINARY bin/console system:update:prepare
Run Update preparations
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Writing lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Package sensio/framework-extra-bundle is abandoned, you should avoid using it. Use Symfony instead.
Package symfony/inflector is abandoned, you should avoid using it. Use EnglishInflector from the String component instead.
Package true/punycode is abandoned, you should avoid using it. No replacement was suggested.
Generating optimized autoload files
131 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`.
- Required package "shopware/core" is not present in the lock file.
- Required (in require-dev) package "phpunit/phpunit" is in the lock file as "9.5.2" but that does not satisfy your constraint "~9.5.17".
This usually happens when composer files are incorrectly merged or the composer.json file is manually edited.
Read more about correctly resolving merge conflicts https://getcomposer.org/doc/articles/resolving-merge-conflicts.md
and prefer using the "require" command over editing the composer.json file directly https://getcomposer.org/doc/03-cli.md#require-r
Script @composer install --working-dir vendor/shopware/recovery --no-interaction --no-scripts handling the post-update-cmd event returned with error code 4

das ist die komplette Meldung beim ausführen des Updates

Shop-Version: 6.4.18.1

Wenn es daran scheitert, dann kannst du das constraint sicherlich auf 9.5.2 setzen. phpunit sollte im produktiv System nicht verwendet werden.

Welche Composer Version verwendest du?

Bin mir nicht mehr sicher, aber letztens hatte auch jemand ein Composer Problem hier im Forum.
Bin der Meinung, dass ein Downgrade der Composer Version vorgenommen wurde und anschließend funktionierte wieder alles.

Edit: hier der Beitrag

Ich habe seit kurzem genau das gleiche Problem mit Shopware 6.4.18.1 und ich verwende Composer 2.5.1.
Das Problem trat nicht durch ein composer self-update auf. Ich habe nun auch verschiedenste Wege versucht und konnte das Problem bisher nicht lösen.

Hallo zusammen,

die Problemlösung, zumindest bei uns, war ein downgrade der composer version von 2.5.1 auf 2.4.0
die aktuelle composer version einfach löschen. Anschliessend folgenden code ausführen:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup --install-dir=/usr/bin --filename=composer --version=2.4.0

Anstatt 2.4.0 kann auch eine andere gewählt werden.
Die verfügbaren versionen findet ihr hier:

2 Likes

Danke für die Rückmeldung!

Oh ich sehe grad - hier kam das Thema schon einmal auf:

composer self-update 2.4.4 hat bei mir das Problem behoben. Wäre super, wenn Shopware das auch für Composer 2.5+ kompatibel macht.