Composer meldet "Installation failed" und Module verschwinden

Hallo,
ich habe einen Shop 6.2.3 installiert (auf einem 1und1-Server). Alles hat funktioniert.
Dann habe ich ein neues Modul (Modul A) mit composer installiert. Alles weiter prima.
Anschließend habe ich ein weiteres Modul (Modul B) installiert.
Jetzt ist Modul A plötzlich weg und nur Modul B ist weiterhin da. Wenn ich dann Modul C installiere, verschwindet Modul B. Und immer so weiter.
Bei der Installation meldet composer immer, ob Modul xxx überschrieben werden soll, was ich verneine (das kommt für alle Standard-Module WYSIWYG-Editor, PayPal, Amazon etc., die standardmäßig bei OXID dabei waren). Am Ende der Installtion kommt immer die Meldung:
Installation failed, reverting .composer.json and .composer.lock to their original content.
Aber das zuletzt installierte Modul funktioniert trotzdem.
Was mache ich falsch?
Kann man die .json und .lock manuell um die Einträge des jeweils neuen Moduls ergänzen?

Schöne Grüße

Matthias

es müsste zwischendurch etwas konkretes darüber stehen, bei welchem Schritt die Installation fehlgeschlagen ist. Poste am besten die komplette Ausgabe aus der Console.

Hier habe ich z.B. von The Real World das rte-module installiert.
Das ist anschließend im Backend und funktioniert auch. Aber ein anderes Modul, was ich vorher installiert hatte, ist weg.

(uiserver):u88908871:~/clickandbuilds/NeuesWollgut$ /usr/bin/php7.4-cli composer.phar require therealworld/rte-module

Using version ^1.8 for therealworld/rte-module

./composer.json has been updated

Running composer update therealworld/rte-module

Loading composer repositories with package information

Updating dependencies

Lock file operations: 4 installs, 0 updates, 5 removals

  • Removing dompdf/dompdf (v0.8.6)

  • Removing ecs/documents (2.5.12)

  • Removing phenx/php-font-lib (0.5.2)

  • Removing phenx/php-svg-lib (v0.3.3)

  • Removing sabberworm/php-css-parser (8.3.1)

  • Locking fale/isbn (3.1.0)

  • Locking html2text/html2text (4.3.1)

  • Locking therealworld/rte-module (v1.8.3)

  • Locking therealworld/tools-plugin (v2.1.17)

Writing lock file

Installing dependencies from lock file (including require-dev)

Package operations: 4 installs, 0 updates, 5 removals

  • Removing sabberworm/php-css-parser (8.3.1)

  • Removing phenx/php-svg-lib (v0.3.3)

  • Removing phenx/php-font-lib (0.5.2)

  • Removing ecs/documents (2.5.12)

  • Removing dompdf/dompdf (v0.8.6)

  • Installing html2text/html2text (4.3.1): Extracting archive

  • Installing fale/isbn (3.1.0): Extracting archive

  • Installing therealworld/tools-plugin (v2.1.17): Extracting archive

  • Installing therealworld/rte-module (v1.8.3): Extracting archive

Package facebook/webdriver is abandoned, you should avoid using it. Use php-webdriver/webdriver instead.

Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.

Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.

Package sebastian/finder-facade is abandoned, you should avoid using it. No replacement was suggested.

Generating autoload files

composer/package-versions-deprecated: Generating version class…

composer/package-versions-deprecated: …done generating version class

47 packages you are using are looking for funding.

Use the composer fund command to find out more!

Generating OXID eShop unified namespace classes … Done

Update operation will overwrite bestit/amazonpay4oxid files in the directory source/modules. Do you want to overwrite them? (y/N) n

Update operation will overwrite ddoe/wysiwyg-editor-module files in the directory source/modules. Do you want to overwrite them? (y/N) n

Update operation will overwrite ecs/adminlists files in the directory source/modules. Do you want to overwrite them? (y/N) n

oxid-esales/oxideshop-composer-plugin: Updating theme package oxid-esales/azure-theme

All files in the following directories will be overwritten:

  • /homepages/38/d676841586/htdocs/clickandbuilds/NeuesWollgut/source/Application/views/azure

  • /homepages/38/d676841586/htdocs/clickandbuilds/NeuesWollgut/source/out/azure

Do you want to overwrite them? (y/N) n

Skipped

oxid-esales/oxideshop-composer-plugin: Updating component oxid-esales/developer-tools

oxid-esales/oxideshop-composer-plugin: Updating theme package oxid-esales/flow-theme

All files in the following directories will be overwritten:

  • /homepages/38/d676841586/htdocs/clickandbuilds/NeuesWollgut/source/Application/views/flow

  • /homepages/38/d676841586/htdocs/clickandbuilds/NeuesWollgut/source/out/flow

Do you want to overwrite them? (y/N) n

Skipped

Update operation will overwrite oxid-esales/gdpr-optin-module files in the directory source/modules. Do you want to overwrite them? (y/N) n

oxid-esales/oxideshop-composer-plugin: Updating OXID eShop package oxid-esales/oxideshop-ce

All files in the following directories will be overwritten:

  • /homepages/38/d676841586/htdocs/clickandbuilds/NeuesWollgut/source

Do you want to overwrite them? (y/N) n

Skipped

Update operation will overwrite oxid-esales/paymorrow-module files in the directory source/modules. Do you want to overwrite them? (y/N) n

Update operation will overwrite oxid-esales/paypal-module files in the directory source/modules. Do you want to overwrite them? (y/N) n

oxid-esales/oxideshop-composer-plugin: Updating theme package oxid-esales/wave-theme

All files in the following directories will be overwritten:

  • /homepages/38/d676841586/htdocs/clickandbuilds/NeuesWollgut/source/Application/views/wave

  • /homepages/38/d676841586/htdocs/clickandbuilds/NeuesWollgut/source/out/wave

Do you want to overwrite them? (y/N) n

Skipped

Update operation will overwrite payone-gmbh/oxid-6 files in the directory source/modules. Do you want to overwrite them? (y/N) n

Update operation will overwrite topconcepts/oxid-klarna-6 files in the directory source/modules. Do you want to overwrite them? (y/N) n

oxid-esales/oxideshop-composer-plugin: Updating component therealworld/tools-plugin

Update operation will overwrite therealworld/rte-module files in the directory source/modules. Do you want to overwrite them? (y/N) n

Incenteev\ParameterHandler\ScriptHandler::buildParameters

Updating the “test_config.yml” file

if [ -f ./vendor/bin/oe-eshop-ide_helper ]; then oe-eshop-ide_helper; fi

X-Powered-By: PHP/4.4.9

Content-type: text/html


Parse error: syntax error, unexpected ‘{’ in /homepages/38/d676841586/htdocs/clickandbuilds/NeuesWollgut/vendor/oxid-esales/oxideshop-ide-helper/oe-eshop-ide_helper on line 13

Script if [ -f ./vendor/bin/oe-eshop-ide_helper ]; then oe-eshop-ide_helper; fi handling the oe:ide-helper:generate event returned with error code 255

Script @oe:ide-helper:generate was called via post-update-cmd

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

(uiserver):u88908871:~/clickandbuilds/NeuesWollgut$

Ich sehe gerade, dass ziemlich am Anfang steht “removing ecs/documents”

Das ist das Modul, das ich vorher installiert hatte.

deine default PHP Version in der Console ist 4.4.9 :open_mouth:
deswegen kann ein PHP Script nicht ausgeführt werden.

Kannst du diese version irgendwo umstellen?

Guten Morgen.

Also, dein Hinweis hat mich auf die richtige Fährte gebracht. Bei ionos steht überall bei meinem Account, dass php Version 7.4 installiert ist. Aber erst in den Tiefen des Forums dort habe ich gefunden, dann das nicht unbedingt die Version ist, die der composer benutzt, die machen das irgendwie anders. Und es gibt einige Menschen, die mit ionos und composer Schwierigkeiten haben. Aber nach langer Suche und viel Lesen habe ich eine Schritt-für-Schritt-Anleitung gefunden, wie man den composer ordentlich zum Laufen bekommt. Das habe ich gestern ausprobiert und siehe da, die Module verschwinden nicht mehr.

Frage: Kann ich die Anleitung hierher kopieren mit Nennung des Autors oder soll ich einen Link posten und andere, die auch Probleme haben, sollen sich den Verlauf von zwei Jahren durchlesen?

Wie dem auch sei: Vielen Dank, dein Hinweis hat mir sehr geholfen.

Schöne Grüße

Matthias

1 Like

Moin,

poste mal hier den Link.
Der Ionos Forum wird zum Ende dieses Jahres abgeschaltet, habe ich gehört, ich werde dann einen Wiki-Beitrag machen.

Der drittletzte Beitrag

Das ist richtig. Die Module ließen sich ja auch mit /usr/bin/php7.4-cli composer.phar require… installieren. Aber bei der nächsten Installation eines Moduls war das vorhergehende weg.

Aus dem Forums-Verlauf habe ich irgendwie geschlussfolgert, dass die bei IONOS gar nicht 7.4 für den composer Nutzen und dann auf eine alte Version zugreifen, in dem Fall irgendwas mit 4.x. Hätte ich php7.3 genutzt, hätte es vielleicht funktioniert.

Im dritt letzten Beitrag steht wie man composer per console einrichtet! Geschrieben von [ralf.theileis]

Guten Morgen,

konntest du noch einen Wiki-Beitrag machen bevor das Forum abgeschaltet wurde?

Schöne Grüße

Dein verlinkter Beitrag ist ein Blogbeitrag und noch da PHP-Composer in IONOS Webhosting Paketen nutzen - IONOS Community - IONOS

Daher wäre die Frage von was sollte ein Wiki Eintrag angelegt werden?

Aber dies wird nun nicht mehr möglich sein, weil es das Forum nicht mehr gibt, wenn es Ende Dezember 2020 abgeschaltet.

ansonsten guck mal für Dein konkretes Problem im Wiki Wiki - OXID eShop forum nach.

Hi,

Nein, der Link ist jetzt lediglich ein Beitrag. In dem Forums-Link waren ganz viele Beiträge von Usern, und einer hat in einer Schritt-für-Schritt-Anleitung die Lösung beschrieben, die ich brauchte.
Vanilla wollte daraus einen Wiki-Eintrag bauen, weil das Forum ja geschlossen werden sollte.

Hi Matthias,

ich sehe in diesem Thread keinen Forums-Link, sehe nur einen Link zum Beitrag PHP-Composer in IONOS Webhosting Paketen nutzen - IONOS Community - IONOS

Wie soll Vanilla ein Wiki-Eintrag anlegen wenn er den Forums-Link nie kannte?

Im Dezember WAR das noch ein Forums-Link! JETZT ist es nur noch ein Beitrag.

Verstehe dies ging nicht so eindeutig aus Deiner Frage hervor.

Es gibt eine WayBack Maschine wo Du prüfen kannst ob ein Unterseite darüber gesichert, in Deinem Beispiel wäre dies

Dort ist auch noch eine Schritt für Schritt Anleitung enthalten.

Update: Wenn ich dem Beitrag und die Sicherung aus dem September 2020 vergleiche hat sich dort nichts inhaltlich geändert.

Im Prinzip die Standard Schritte bei Composer:

  1. Composer herunterladen
curl -sS https://getcomposer.org/installer | /usr/bin/php7.1-cli
  1. Composer das erste Mal starten
/usr/bin/php7.1-cli composer.phar

In Befehl gehört dann halt die PHP-Version hinein die man verwenden soll. Dies ist IONOS spezifisch.

  1. Composer aktualisieren
/usr/bin/php7.1-cli composer.phar selfupdate

Wichtiger Hinweis von IONOS:

Der Pfad zu PHP-CLI im oben genannten Beispiel ist versionsanhängig und kann sich ändern!

Fazit

Im Prinzip fehlt im Wiki Eintrag Anleitung: Composer für Shopbetreiber nur die Installation und Update von Composer auf dem Server.

Zusätzlich könnte man noch auf Besonderheiten hinweisen anhand vom Beispiel IONOS, dass man in Kommando Zeile noch seine PHP CLI Version mitangeben muss.

Update: Um noch eine Sache klarzustellen, würde für das Hosting von einem OXID eShop von IONOS abraten, empfehlenswert sind offzielle OXID eShop Hoster Partner OXID Partner - Die Onlineshop Agentur empfohlen vom Hersteller • OXID eSales AG siehe auch Wiki Liste der Hoster für OXID6

Und in dem verschwundenen Beitrag stand halt, wie man den composer so auf seinen Webspace kopiert, dass man direkt “composer require …” aufrufen kann.

Unser alter Shop lief seit 2017 ohne Probleme auf ionos, der neue Shop lief auch ohne Probleme, bis ich den ionCube-Loader installieren musste für ein Modul. Seit dem ist alles… suboptimal, um es freundlich auszudrücken. Naja, der Shop läuft ja auch, nur wenn ich jetzt composer aufrufe, dann kommt immer das Problem, dass behauptet wird, der ionCube-Loader sei nicht installiert. Siehe meinen anderen Leidens-Thread dazu.

Dann ist genau dies Dein Problem, weil Du für die CLI auch den ionCube-Loader installieren musst. Frage wäre ob dies überhaupt mit IONOS möglich. Wobei ich persönlich von verschlüsselten Modulen abrate. Da diese auf lange Sicht nur hohen Wartungsaufwand mit sich bringen.

Ja, die verschlüsselten Module… ich bereue auch, dass ich die installiert habe. vorher lief alles problemlos. Aber das Kind ist nun mal in den Brunnen gefallen…

Ok, jetzt ist der ionCube ja für den Shop installiert, wird dort angezeigt und funktioniert.

Warum braucht der composer jetzt plötzlich auch den ionCube-Loader?

Kann man den composer wieder dazu bringen, OHNE ionCube-Loader zu leben?

Gibt es eine Art Workaround?