Warning: include(...composer/InstalledVersions.php): failed to open stream

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • theMatrix
    Contao-Nutzer
    • 19.09.2013
    • 154

    #1

    Warning: include(...composer/InstalledVersions.php): failed to open stream

    Hallo zusammen,

    ich bekomme nach dem ich die Manager von 1.3.3 auf 1.4 aktualisiert habe folgendes:

    PHP-Code:
    ErrorException {#60
      #message: "Warning: include(/Applications/mampstack-7.3/apache2/htdocs/mywebsite/vendor/composer/../composer/InstalledVersions.php): failed to open stream: No such file or directory"
      #code: 0
      #file: "./vendor/symfony/error-handler/DebugClassLoader.php"
      #line: 345
      #severity: E_WARNING
      trace: {
        ./vendor/symfony/error-handler/DebugClassLoader.php:345 { …}
        spl_autoload_call() {}
        ./vendor/composer/package-versions-deprecated/src/PackageVersions/Versions.php:10 { …}
        ./vendor/contao/core-bundle/src/Util/PackageUtil.php:24 { …}
        ./vendor/contao/core-bundle/src/Util/PackageUtil.php:61 { …}
        ./vendor/contao/manager-bundle/src/Console/ContaoApplication.php:29 { …}
        ./vendor/contao/manager-bundle/bin/contao-console:37 { …}
      }
    } 
    
    Ist eine lokale installation von Contao 4.9.9
    Was kann es sein?
    Hab den Prod und Dev Ordner gelöscht und erneut generieren lassen. Auch Autoloader hat nichts gebracht.

    Ich habe in der tl_page.php bei einer Erweiterung folgendes hinzugefügt gehabt:

    PHP-Code:
    if(VERSION == '4.9') {
        PaletteManipulator::create()
        ->addLegend('post_legend', 'dns_legend', PaletteManipulator::POSITION_APPEND)
        ->addField(array('addPostNote'), 'post_legend')
        ->applyToPalette('rootfallback','tl_page')
        ;
    } 
    
    Kann es auch daran liegen?

    War überhaupt eine Datei namens InstalledVersions.php in composer Verzeichnis und wurde es durch Manager-Update entfernt oder so?
  • theMatrix
    Contao-Nutzer
    • 19.09.2013
    • 154

    #2
    Ok. Jetzt bin ich nach stundenlangem Recherche schlauer geworden.

    Bei Conto Manager 1.4.0 wird composer v2 eingeführt. https://github.com/contao/contao-manager/tree/1.4.0

    Composer 2 hat die installedVersion.php im Einsatz. https://getcomposer.org/doc/07-runtime.md


    PS: Ich finde nicht korrekt, dass man den Contao Manager zwingend aktualisieren muss. Denn ohne den Manager zu aktualisieren kommt man nicht weiter.
    Dann hat man eventuell im Live-Betrieb eine Zerschossene und unbrauchbare Seite.

    Ob hierfür eine einfache Lösung gibt weiß ich nicht, aber wenn ich auf composer 2 aktualisere, stellt sich die Frage, wie viele von installierten Paketen nicht funktionieren wird!?

    Hatte schon jemand damit Erfahrung?

    Kommentar

    • Spooky
      Community-Moderator
      Wandelndes Contao-Lexikon
      • 12.04.2012
      • 38811

      #3
      Zitat von theMatrix Beitrag anzeigen
      Dann hat man eventuell im Live-Betrieb eine Zerschossene und unbrauchbare Seite.
      Warum?
      » sponsor me via GitHub or Revolut

      Kommentar

      • theMatrix
        Contao-Nutzer
        • 19.09.2013
        • 154

        #4
        Wenn ich Pakete habe, die eventuell nicht mit Composer v2 laufen.

        Wie man sieht, hab ich das Problem nach dem ich den Manager aktualisiert habe bekommen.
        Der neue Manager wurde auf Composer 2 aktualisiert. Composer v2 erwartet die Datei installedVersion.php, die wiederum nicht in vendor/composer/ vorkommt.

        Bei meine lokale Installation hat es die Seite zerschossen. Ich will nicht wissen, was passiert bei einer Live-Seite, wenn ich dort den Manager von 1.3.3 auf 1.4 aktualisiere.

        Ich habe jetzt Contao Manager weggelassen und dafür die composer v1 aus dem https://getcomposer.org/composer-1.phar verwendet.

        Ich nehme an, ich müsste ein Update ausführen, damit sich der composer auf Version 2 aktualisiert. Danach müsste ich alle Pakete die nicht unter v2 laufen fixen.

        Das in laufendem Betrieb wird schwierig.

        Kommentar

        • Spooky
          Community-Moderator
          Wandelndes Contao-Lexikon
          • 12.04.2012
          • 38811

          #5
          Zitat von theMatrix Beitrag anzeigen
          Wenn ich Pakete habe, die eventuell nicht mit Composer v2 laufen.
          Wenn das der Fall ist, sagt dir das Composer bei einem composer update. Die Live-Seite wird dadurch nicht "zerschossen".


          Zitat von theMatrix Beitrag anzeigen
          Bei meine lokale Installation hat es die Seite zerschossen.
          Was genau hast du gemacht? Ein Update des Contao Managers ändert nichts an der Contao Installation selbst.
          » sponsor me via GitHub or Revolut

          Kommentar

          • theMatrix
            Contao-Nutzer
            • 19.09.2013
            • 154

            #6
            Ich habe die Contao-Manager von 1.3.3 auf 1.4 aktualisiert.

            und über .
            HTML-Code:
            ..php73 -d memory_limit=-1 web/composer-manager composer dump-autoload --optimize
            durchgeführt

            Danach kam der Fehler

            PHP-Code:
            ErrorException {#60
              #message: "Warning: include(/Applications/mampstack-7.3/apache2/htdocs/mywebsite/vendor/composer/../composer/InstalledVersions.php): failed to open stream: No such file or directory"
              #code: 0
              #file: "./vendor/symfony/error-handler/DebugClassLoader.php"
              #line: 345
              #severity: E_WARNING
              trace: {
                ./vendor/symfony/error-handler/DebugClassLoader.php:345 { …}
                spl_autoload_call() {}
                ./vendor/composer/package-versions-deprecated/src/PackageVersions/Versions.php:10 { …}
                ./vendor/contao/core-bundle/src/Util/PackageUtil.php:24 { …}
                ./vendor/contao/core-bundle/src/Util/PackageUtil.php:61 { …}
                ./vendor/contao/manager-bundle/src/Console/ContaoApplication.php:29 { …}
                ./vendor/contao/manager-bundle/bin/contao-console:37 { …}
              }
            } 
            
            Ich bin dabei gewesen eine Erweiterung lokal zu fixen damit ich es auf Live-Seite übertragen kann.

            Kein Update oder install geführt oder sonst noch was gemacht.

            Davor hat ja alles funktioniert, bis ich den Contao-Manager über die Browserzeile aufgerufen hab. Wie immer der Hinweis "neu Contao-Manager 1.4.0 verfügbar" erschienen. Und ich habe auf aktualisieren geklickt.
            Danach ging nix mehr. Ich wollte Datenbank aktualisieren. Warum ich Contao-Manager aufgerufen hab, frag mich nicht. Vielleicht, damit das Problem passiert
            Ich hätte genauso contao/install aufrufen können, ich weiß es

            Jetzt in Terminal über
            HTML-Code:
            -d memory_limit=-1 /Applications/mampstack-7.3/apache2/htdocs/composer.phar dump-autoload --optimize
            funktioniert die Seite wieder.

            Also das Problem liegt definitiv an Contao-Manager

            Kommentar

            • Spooky
              Community-Moderator
              Wandelndes Contao-Lexikon
              • 12.04.2012
              • 38811

              #7
              Zitat von theMatrix Beitrag anzeigen
              Ich habe die Contao-Manager von 1.3.3 auf 1.4 aktualisiert.

              und über .
              HTML-Code:
              ..php73 -d memory_limit=-1 web/composer-manager composer dump-autoload --optimize
              durchgeführt
              So ein Kommando gibt es nicht. Meinst du web/contao-manager.phar.php composer …? Wenn ja: warum hattest du das ausgeführt?
              » sponsor me via GitHub or Revolut

              Kommentar

              • theMatrix
                Contao-Nutzer
                • 19.09.2013
                • 154

                #8
                Tipp Fehler. Arbeiten, Posten und Denken alles auf einmal wird schwierig

                Sollte auch
                HTML-Code:
                web/contao-manager.phar.php composer
                heißen.

                Weil ich eine Datei zu meiner Erweiterung hinzugefügt habe. Nach der Autoload habe ich auch
                HTML-Code:
                -d memory_limit=-1 vendor/bin/contao-console cache:clear --env=dev
                ausgeführt und
                HTML-Code:
                prod

                Kommentar

                • Spooky
                  Community-Moderator
                  Wandelndes Contao-Lexikon
                  • 12.04.2012
                  • 38811

                  #9
                  Ja, dann ist der Fall klar. Wie schon erwähnt führt das bloße Update des Contao Managers nicht dazu, dass deine Seite zerschossen wird. Der Contao Manager ändert nichts an der Contao Installation, durch das eigene Update.

                  In deinem Fall musst du nach dem Contao Manager Update einfach noch ein Composer Update durchführen.
                  » sponsor me via GitHub or Revolut

                  Kommentar

                  • theMatrix
                    Contao-Nutzer
                    • 19.09.2013
                    • 154

                    #10
                    Also nach Contao-Manager Update kein dump-autoload.

                    Composer Update würde mir aber alle Pakete aktualisieren und alle Abhängigkeiten richtig?

                    Dann könnte eventuell auch Konflikte geben.

                    Kommentar

                    • Spooky
                      Community-Moderator
                      Wandelndes Contao-Lexikon
                      • 12.04.2012
                      • 38811

                      #11
                      Zitat von theMatrix Beitrag anzeigen
                      Dann könnte eventuell auch Konflikte geben.
                      Composer sagt dir diese Konflikte dann. Die Installation an sich wird dadurch dann nicht verändert.

                      Und generell würde ich auch nicht empfehlen in einer Live-Umgebung direkt zu programmieren, wo es wichtig ist, dass diese nicht down sein soll.
                      » sponsor me via GitHub or Revolut

                      Kommentar

                      • theMatrix
                        Contao-Nutzer
                        • 19.09.2013
                        • 154

                        #12
                        Deshalb mach ich es erst lokal. Aber, wenn ich das Paket dann auf Live-Seite übertrage und dort den Manager aktualisiere und Paket-Update durchführe, wird es die Seite eventuell oder sogar definitiv zerschießen.

                        Bei einer Seite, wo ständig Inhalte geändert werden, ein Backup zu machen und es wieder zurück zu spielen wird schwierig, wenn DB davon betroffen ist.

                        Egal wie man es macht ist es verkehrt.

                        Kommentar

                        • Spooky
                          Community-Moderator
                          Wandelndes Contao-Lexikon
                          • 12.04.2012
                          • 38811

                          #13
                          Zitat von theMatrix Beitrag anzeigen
                          Deshalb mach ich es erst lokal. Aber, wenn ich das Paket dann auf Live-Seite übertrage und dort den Manager aktualisiere und Paket-Update durchführe, wird es die Seite eventuell oder sogar definitiv zerschießen.
                          Warum sollte das so sein?
                          » sponsor me via GitHub or Revolut

                          Kommentar

                          • theMatrix
                            Contao-Nutzer
                            • 19.09.2013
                            • 154

                            #14
                            Weil nach der Update oder Install die autoload ausgeführt wird?

                            Meinst du, wenn ich Contao-Manager aktualisiere, und /php/wasauchimmer/php -d web/contao-manager composer update durch führe dürfte keine Probleme im Frontend geben?

                            Was ist mit Paketen die nicht mit composer v2 kompatibel sind und dafür keine Updates geben?

                            Oder ich verstehe das ganze vorgehensweise nicht

                            Kommentar

                            • Spooky
                              Community-Moderator
                              Wandelndes Contao-Lexikon
                              • 12.04.2012
                              • 38811

                              #15
                              Zitat von theMatrix Beitrag anzeigen
                              Weil nach der Update oder Install die autoload ausgeführt wird?
                              Nicht wenn die update oder install Operation nicht erfolgreich war. Dann bleibt alles unverändert.

                              - - - Aktualisiert - - -

                              Zitat von theMatrix Beitrag anzeigen
                              Was ist mit Paketen die nicht mit composer v2 kompatibel sind und dafür keine Updates geben?
                              Dann meldet dir das Composer und die Installation bleibt unberührt.
                              » sponsor me via GitHub or Revolut

                              Kommentar

                              Lädt...