Composer Fehler Update 6.1.4 -> 6.2.0

Hallo Ihr Lieben.

Hab mich jetzt etwas länger vor Shop Updates gedrückt (ich weiß schon warum) und muss jetzt mal wieder ran.

Leider gibts gleich nen Fehler in Composer.
Nach:
composer update --no-plugins --no-scripts --no-dev

sagt Putty:
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///www/htdocs/xxxxxxx/bin/composer.phar/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52

Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///www/htdocs/xxxxxxx/bin/composer.phar/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52

Webspace ist Allinkl Premium (was hier ja auch empfohlen wird)

Ich hoffe ich brauch jetzt keinen richtigen Server dafür, bisher reichte das Webhosting vollkommen aus.

Schonmal vielen Dank für Tipps und Hilfe
:slight_smile:

Probier mal, den Composer auf Version 2 upzugraden.

php composer.phar --self-update

Danke m43 für die Antwort.

Ich dachte OXID 6.1.4 wäre noch nicht kompatibel mit Composer 2.
Ich probier es mal aus.

Danke!

Wenn’s nicht geht, probiere es mal so:

COMPOSER_MEMORY_LIMIT=-1 composer update --ignore-platform-reqs

Hmm, mit Composer 2.2.12 (2.3 soll man ja noch nicht) kommt: (nach Eingabe von “composer update --no-plugins --no-scripts --no-dev”)

Problem 1
- Root composer.json requires OXID-esales/oxideshop-ide-helper ^v3.1.2 → satisfiable by OXID-esales/oxideshop-ide-helper[v3.1.2].
- OXID-esales/oxideshop-ide-helper v3.1.2 requires composer-plugin-api ^1.1.0 → found composer-plugin-api[2.2.0] but it does not match the constraint.
Problem 2
- ocramius/package-versions[1.3.0, …, 1.5.1] require composer-plugin-api ^1.0.0 → found composer-plugin-api[2.2.0] but it does not match the constraint.
- ocramius/package-versions[1.6.0, …, 1.7.0] require composer-plugin-api ^1.1.0 → found composer-plugin-api[2.2.0] but it does not match the constraint.
- OXID-esales/oxideshop-metapackage-ce v6.2.0 requires ocramius/package-versions 1.4.2|1.5.1|1.7.0 → satisfiable by ocramius/package-versions[1.4.2, 1.5.1, 1.7.0].
- Root composer.json requires OXID-esales/oxideshop-metapackage-ce v6.2.0 → satisfiable by OXID-esales/oxideshop-metapackage-ce[v6.2.0].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Running update with --no-dev does not mean require-dev is ignored, it just means the packages will not be installed. If dev requirements are blocking the update you have to resolve those problems.

Versuch 2, danke für den Tipp rubbercut

COMPOSER_MEMORY_LIMIT=-1 composer update --ignore-platform-reqs (mit Composer 1.8.4)

Loading composer repositories with package information
Warning from https://repo.packagist.org: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See Deprecating Packagist.org support for Composer 1.x
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

COMPOSER_MEMORY_LIMIT=-1 composer update --ignore-platform-reqs (mit Composer 2.2.12)

Do you trust “ocramius/package-versions” to execute code and wish to enable it now? (writes “allow-plugins” to composer.json) [y,n,d,?] y
The “ocramius/package-versions” plugin was skipped because it requires a Plugin API version ("^1.0") that does not match your Composer installation (“2.2.0”). You may need to run composer update with the “–no-plugins” option.
OXID-esales/oxideshop-composer-plugin contains a Composer plugin which is currently not in your allow-plugins config. See Config - Composer
Do you trust “OXID-esales/oxideshop-composer-plugin” to execute code and wish to enable it now? (writes “allow-plugins” to composer.json) [y,n,d,?] y
The “OXID-esales/oxideshop-composer-plugin” plugin was skipped because it requires a Plugin API version ("^1.0") that does not match your Composer installation (“2.2.0”). You may need to run composer update with the “–no-plugins” option
OXID-esales/oxideshop-unified-namespace-generator contains a Composer plugin which is currently not in your allow-plugins config. See Config - Composer
Do you trust “OXID-esales/oxideshop-unified-namespace-generator” to execute code and wish to enable it now? (writes “allow-plugins” to composer.json) [y,n,d,?] y
The “OXID-esales/oxideshop-unified-namespace-generator” plugin was skipped because it requires a Plugin API version ("^1.1.0") that does not match your Composer installation (“2.2.0”). You may need to run composer update with the "–no-p
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Root composer.json requires OXID-esales/oxideshop-metapackage-ce v6.2.0 → satisfiable by OXID-esales/oxideshop-metapackage-ce[v6.2.0].
- incenteev/composer-parameter-handler v2.0.0 requires symfony/yaml ~2.0 → satisfiable by symfony/yaml[2.0.4, …, v2.8.52].
- You can only install one version of a package, so only one of these can be installed: symfony/yaml[2.0.4, …, v2.8.52, v3.0.0, …, v3.4.47, v4.0.0, …, v4.4.37, v5.0.0, …, v5.4.3, v6.0.0, …, v6.1.0].
- OXID-esales/oxideshop-metapackage-ce v6.2.0 requires symfony/yaml v3.4.38 → satisfiable by symfony/yaml[v3.4.38].
- Root composer.json requires incenteev/composer-parameter-handler ~v2.0.0 → satisfiable by incenteev/composer-parameter-handler[v2.0.0].

Muss das alles so kompliziert sein? :frowning:

Hat noch jemand eine Idee? Bis 6.1.4 ging das bisher immer recht problemlos.

Das ist der der “require” Teil aus der composer.json falls das hilft.

“require”: {
“OXID-esales/oxideshop-metapackage-ce”: “v6.2.0”,
“alphasys/asy_seotitle”: “^3.0”
},
“require-dev”: {
“OXID-esales/testing-library”: “^v7.0.1”,
“OXID-esales/coding-standards”: “^v3.0.5”,
“incenteev/composer-parameter-handler”: “~v2.0.0”,
“OXID-esales/oxideshop-ide-helper”: “^v3.1.2”,
“OXID-esales/azure-theme”: “^v1.4.2”
},

composer self-update --1

composer self-update --rollback

Jo leidige Thema Composer für Laien und Entwicklern mit gefährlichen Halbwissen.

Folgendes gilt es zu beachten:

  1. Composer Version 1 für 6.2.0 bis 6.2.2
  2. Composer Version 2 für 6.2.3 bis 6.2.5
  3. Composer Dev-Requires müssen bei Composer Version 2 für 6.2.3 bis 6.2.5 mit aktualisiert werden

Quelle: Standard update — OXID eShop 6.2 | User documentation

Ansonsten noch die Hinweise

  • ab der 6.2er Serie haben Module 4 statt 2 Zustände
  • die 6.2er Serie bereits veraltet und es ist empfohlen auf die 6.3 oder 6.4er Serie zu aktualisieren

Langfristig besser wäre es einen Hoster zu haben, welcher genügend Zwischenspeicher bereit stellt.

Alternative wäre eine Deploymentstrategie welche den Build Prozess (z.B. vendor Verzeichnis generieren mit Composer) auslagert und dann über einen rsync die Dateien auf den Hoster hochlädt bzw. abgleicht.

Ok, danke Euch allen für die Hilfe soweit.

Klappt leider trotzdem nicht. :frowning:
Ich werd nochmal beim Hoster anfragen ob die eine Idee haben. OXID scheint bei Allinkl wohl auch aus der “Software-Installations” Ecke rausgeflogen zu sein. (Ich meine da gabs früher auch ne One-Click-Installation für…)

Vielleicht isses auch Zeit sich mal ein paar Shopware Tutorials anzuschauen… :frowning:

Lieben Gruß

Das stimmt leider. Gerade wegen der nun so komplizierten Installation.

6.1 habe ich eben mal testweise bei all-inkl.com installiert. Geht aber…

Sich über System Requirements hinwegsetzen ist keine gute Idee. Diese sind nicht dafür da den Benutzer zu nerven, sondern um Fehler zu vermeiden. Daher besser herausfinden, welche System Requirements nicht erfüllt werden.

Ob diese erfüllt werden kann mit composer z.B. so geprüft werden:
composer check-platform-reqs

Ich bin mir nicht sicher, ob du dich an die Anleitung gehalten hast, da dein require davon abweicht.

Zur Verteidigung muss man sagen, Update von 6.1 auf 6.2er Serie ist speziell. Weil sich Doku mehrmals an dieser Stelle geändert. Wegen Composer 2 Umstellung. Das schon sehr fehleranfällig wenn man zum falschen Zeitpunkt ein Update nachzieht.

Zusätzlich ist aus meiner Sicht von 6.1 auf 6.2 ein Major Update und kein Minor. Weil die Modulentwicklung bzw. Handling ab 6.2er Serie sich sehr stark geändert mit var Verzeichnis und den 1.yaml Dateien und den 4 Zuständen statt 2. Konsequent wäre gewesen von 6.1 auf 7.0 hochzuzählen.

Durchaus. Würde aber an seinem Problem nichts ändern.

Aber gut unsere geführte Diskussion verdeutlicht das Problem.

@cowboy73 befindet sich mitten im Update-Prozess der Dokumentation der Module, darauf deutet

composer update --no-plugins --no-scripts --no-dev

hin.

Kernproblem hier, dass man diesen Update-Prozess am besten Lokal auf seinen Rechner durchführt und das Ergebnis ggfs. später auf den LIVE-Server überträgt.

Für dieses aufwendige Update ist der Hoster dann der Falsche. Für ein wirklich richtiges Minor Update z.B. von 6.0 auf 6.1 oder 6.2 auf 6.3 oder 6.4.1 auf 6.4.2 sollte auch mit dem Hoster machbar sein.

Nur die Bezeichnung Update von 6.1 auf 6.2 verniedlicht hier das Update (eigentlich Mayor Update), man denkt ist kleines Update was man schnell, nebenbei einspielen kann. Dies ist es leider in diesem konkreten Fall leider nicht.

ps. Beziehungsweise dies ist noch Schritt 3 bevor @cowboy73 überhaupt noch zum 2. Teil der Moduleinstellungen aus der Anleitung kommt Von 6.1.x auf 6.2.0 aktualisieren — OXID eShop 6.2 | Anwenderdokumentation

  1. Führen Sie in der Shell den nachstehenden Composer-Befehl aus, um die Abhängigkeiten zu aktualisieren. Der Parameter –no-dev wird angegeben, wenn die entwicklungsbezogenen Dateien nicht benötigt werden.