Ergebnis 1 bis 13 von 13

Thema: Manuelle Änderung von Abhängigkeiten

  1. #1
    Contao-Nutzer
    Registriert seit
    28.06.2010.
    Beiträge
    55

    Standard Manuelle Änderung von Abhängigkeiten

    Hi,
    ich habe bei einer Installation unter contao 4.13 Probleme mit den Abhängigkeiten von Erweiterungen.
    Ich möchte einige Erweiterungen auf die aktuellste bzw. auf aktuellere Versionen updaten, die aktuell noch mit einer Version laufen, die contao-haste ^4.0 voraussetzen. Die aktuelleren Versionen benötigen alle haste ^5.0

    Von einer anderen, älteren Erweiterung gibt es keine Version, die mit haste ^5.0 glücklich wäre - aktuell noch ^4.23 - und die scheinbar nicht mehr weiterentwickelt wird. Ich würde gerne testen, ob diese evtl auch mit v5 weiterhin funktioniert. Wenn ich die Abhängigkeit in der composer.json im contao/vendor-Verzeichnis dieser Erweiterung manuell anpasse (auf "codefog/contao-haste": "^4.23 || ^5.0"), wird diese Änderung nicht übernommen.
    Ich würde erwarten, dass ich die geänderte Abhängigkeit auch im Contao-Manager / Pakete / ... / Details / Abhängigkeiten sehen kann - dort steht aber weiterhin Contao Haste: ^4.23
    Ich habe schon alles unter Systemwartung durchgeführt, was mir dazu in den Sinn gekommen ist:
    * Anwendungs-Cache / Prod.-Cache erneuern
    * Composer Class Loader / Datei aktualisieren
    * Composer-Abhängigkeiten / Installer ausführen
    * Composer-Cache / Cache leeren

    Ein ähnliches Problem betrifft die PHP Version. Eine ältere, kleine Erweiterung möchte noch max. PHP 7 und die Webseite läuft bereits ohne Probleme mit PHP 8.2
    Auch hier ist die nicht erfüllbare Abängigkeit hinderlich, z.B. läuft dann Composer-Abhängigkeiten / Composer Update ausführen auf Fehler.
    Hier würde ich also auch gerne die Abhängigkeit "manipulieren" (ggf. falls nötig den Code anpassen), damit Ruhe ist.

    Wie kann man den Knoten lösen?

    Vielen Dank und beste Grüße
    Sven

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Die einzige composer.json die du dafür anpassen kannst die die im Installationsverzeichnis.
    Die in den vendor/xxx/ Verzeichnissen bringen die installierten Erweiterungen mit, da bringt es nichts anzupassen, da wurde die Auswahl ja bereits durch Composer getroffen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Zitat Zitat von dragstar Beitrag anzeigen
    Ein ähnliches Problem betrifft die PHP Version. Eine ältere, kleine Erweiterung möchte noch max. PHP 7 und die Webseite läuft bereits ohne Probleme mit PHP 8.2
    Auch hier ist die nicht erfüllbare Abängigkeit hinderlich, z.B. läuft dann Composer-Abhängigkeiten / Composer Update ausführen auf Fehler.
    Hier würde ich also auch gerne die Abhängigkeit "manipulieren" (ggf. falls nötig den Code anpassen), damit Ruhe ist.
    Dafür zumindest könnte man --ignore-platform-req=php nutzen.
    » sponsor me via GitHub or PayPal or Revolut

  4. #4
    Contao-Nutzer
    Registriert seit
    28.06.2010.
    Beiträge
    55

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Die einzige composer.json die du dafür anpassen kannst die die im Installationsverzeichnis.
    Die in den vendor/xxx/ Verzeichnissen bringen die installierten Erweiterungen mit, da bringt es nichts anzupassen, da wurde die Auswahl ja bereits durch Composer getroffen.
    Hi BugBuster,
    in der composer.json im contao-Installationsverzeichnis (also dem root von meiner contao-Installation - die meinst du doch?) sehe ich aber doch nur die installierten Erweiterungen aber nicht die von Ihnen definierten require-statements.
    Und ich will doch gerade die von der Erweiterung mitgebrachte Version manipulieren...
    Beste Grüße und vielen Dank,
    sven

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Das kannst du nur mit eigenen Forks machen.
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Contao-Nutzer
    Registriert seit
    28.06.2010.
    Beiträge
    55

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Dafür zumindest könnte man --ignore-platform-req=php nutzen.
    Hi Spooky,
    an den composer und die SSH shell habe ich mich bisher noch nicht ran getraut (bisher mach ich alles im Contao Manager). Dort müsste ich dann doch
    composer install --ignore-platform-req=php
    aufrufen, oder?

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Nein, du willst ja die Pakete aktualisieren, oder? Also wenn dann composer update -o --ignore-platform-req=php
    Aber das ignoriert die PHP Version halt komplett für alle Pakete.
    » sponsor me via GitHub or PayPal or Revolut

  8. #8
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von dragstar Beitrag anzeigen
    Hi BugBuster,
    in der composer.json im contao-Installationsverzeichnis (also dem root von meiner contao-Installation - die meinst du doch?) sehe ich aber doch nur die installierten Erweiterungen aber nicht die von Ihnen definierten require-statements.
    Und ich will doch gerade die von der Erweiterung mitgebrachte Version manipulieren...
    Beste Grüße und vielen Dank,
    sven
    Kannst du doch machen, in dem du dort händisch, geht auch über Manager, einträgst:
    Code:
    codefog/contao-haste": "^4.23",
    Mach ich öfters um eine bestimmte Version einer Abhängigkeit zu erzwingen um dessen Kompatibilität zu testen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Damit kannst du aber nicht die Abhängigkeiten anderer Erweiterungen überschreiben.
    » sponsor me via GitHub or PayPal or Revolut

  10. #10
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Doch, in der Art, dass zum Beispiel meine Erweiterung verlangt
    Code:
    "symfony/http-foundation": "^5.4 || ^6.0",
    ich will aber jetzt direkt mit 5.4.x testen obwohl die 6.x.x installiert werden würde, dann trage ich in die Haupt composer.json ein
    Code:
    "symfony/http-foundation": "^5.4",
    und damit erzwinge ich die 5.4.x.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Das ist aber nicht das, was @dragstar machen will. Siehe:

    Zitat Zitat von dragstar Beitrag anzeigen
    Von einer anderen, älteren Erweiterung gibt es keine Version, die mit haste ^5.0 glücklich wäre - aktuell noch ^4.23 - und die scheinbar nicht mehr weiterentwickelt wird. Ich würde gerne testen, ob diese evtl auch mit v5 weiterhin funktioniert. Wenn ich die Abhängigkeit in der composer.json im contao/vendor-Verzeichnis dieser Erweiterung manuell anpasse (auf "codefog/contao-haste": "^4.23 || ^5.0"), wird diese Änderung nicht übernommen.
    » sponsor me via GitHub or PayPal or Revolut

  12. #12
    Contao-Nutzer
    Registriert seit
    28.06.2010.
    Beiträge
    55

    Standard

    Vielen Dank für Eure Unterstützung!
    Inzwischen hat er die geänderte require-Def geschluckt und ist mit v4 oder v5 zufrieden - da ich so einiges hin-und-her probiert habe, weiß ich jetzt zwar nicht, was letztendlich die Lösung war aber besser als nix ;-)
    Ich nehm das jetzt erstmal so hin und versuch beim nächsten Mal mitzubekommen, was zum Erfolg geführt hat.
    Gefühlt würde ich sagen composer.json im vendor-Verzeichnis usw. ist der richtige Weg gewesen aber ich bin auch der Meinung das am Anfang ohne Erfolg genauso gemacht zu haben...
    Beste Grüße
    Sven

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Die Änderung der composer.json im vendor Ordner hat keinerlei Auswirkungen.
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •