2014-01-14 4 views
5

Ich möchte ein Projekt von Symfony 2.3 auf 2.4 upgraden. Ich habe gelesen, dass die Version 2.4 abwärtskompatibel zu 2.3 ist und nur notwendig ist, um die Version der Komponenten zu aktualisieren.Upgrade Symfony2 2.3 auf 2.4: Ändern composer.json

Das ist mein composer.json:

{ 
    "name" : "symfony/framework-standard-edition", 
    "description" : "The \"Symfony Standard Edition\" distribution", 
    "type" : "project", 
    "license" : [ 
      "MIT" 
    ], 
    "require" : { 
      "symfony/symfony" : "2.3.*", 
      "doctrine/doctrine-fixtures-bundle" : "dev-master", 
      "symfony/swiftmailer-bundle" : "2.3.*", 
      "doctrine/orm" : ">=2.2.3,<2.4-dev", 
      "doctrine/data-fixtures" : "dev-master", 
      "symfony/assetic-bundle" : "2.3.*", 
      "incenteev/composer-parameter-handler" : "~2.0", 
      "twig/extensions" : "1.0.*", 
      "php" : ">=5.3.3", 
      "sensio/generator-bundle" : "2.3.*", 
      "symfony/monolog-bundle" : "2.4.*", 
      "sensio/framework-extra-bundle" : "2.3.*", 
      "doctrine/doctrine-bundle" : "1.2.*", 
      "sensio/distribution-bundle" : "2.3.*", 
      "liip/imagine-bundle": "dev-master", 
      "egeloen/google-map-bundle": "*" 
    }, 
    "autoload" : { 
      "psr-0" : { 
        "" : "src/" 
      } 
    }, 
    "minimum-stability" : "stable", 
    "config" : { 
      "bin-dir" : "bin" 
    }, 
    "scripts" : { 
      "post-update-cmd" : [ 
        "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", 
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
      ], 
      "post-install-cmd" : [ 
        "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", 
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
      ] 
    }, 
    "extra" : { 
      "branch-alias" : { 
        "dev-master" : "2.3-dev" 
      }, 
      "symfony-web-dir" : "web", 
      "symfony-app-dir" : "app", 
      "incenteev-parameters" : { 
        "file" : "app/config/parameters.yml" 
      } 
    } 
} 

Aber wenn ich überprüfen the v2.4 composer.json file ist von dieser sehr unterschiedlich.

Ich habe versucht, meine composer.json für die 2.4-Version zu ändern, meine benutzerdefinierten Bundles hinzufügen und ein "Composer-Update", aber es hat nicht funktioniert.

Wäre es ausreichend, die Versionen der Bundles zu aktualisieren, die die Version 2.4 auf meiner eigenen composer.json installieren?

Danke.

Antwort

2

Die neue Symfony 2.4 composer.json Datei weiter:

{ 
    "name": "symfony/framework-standard-edition", 
    "license": "MIT", 
    "type": "project", 
    "description": "The \"Symfony Standard Edition\" distribution", 
    "autoload": { 
     "psr-0": { "": "src/" } 
    }, 
    "require": { 
     "php": ">=5.3.3", 
     "symfony/symfony": "~2.4", 
     "doctrine/orm": "~2.2,>=2.2.3", 
     "doctrine/doctrine-bundle": "~1.2", 
     "twig/extensions": "~1.0", 
     "symfony/assetic-bundle": "~2.3", 
     "symfony/swiftmailer-bundle": "~2.3", 
     "symfony/monolog-bundle": "~2.4", 
     "sensio/distribution-bundle": "~2.3", 
     "sensio/framework-extra-bundle": "~2.3", 
     "sensio/generator-bundle": "~2.3", 
     "incenteev/composer-parameter-handler": "~2.0" 
    }, 
    "scripts": { 
     "post-install-cmd": [ 
      "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
     ], 
     "post-update-cmd": [ 
      "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
     ] 
    }, 
    "config": { 
     "bin-dir": "bin" 
    }, 
    "minimum-stability": "beta", 
    "extra": { 
     "symfony-app-dir": "app", 
     "symfony-web-dir": "web", 
     "incenteev-parameters": { 
      "file": "app/config/parameters.yml" 
     }, 
     "branch-alias": { 
      "dev-master": "2.4-dev" 
     } 
    } 
} 

die Bibliotheken von Drittanbietern vergleichen in Abschnitt erforderlich, dass Sie in Ihrem Projekt verwendet haben mit Bibliotheken von Drittanbietern in v 2.4. Wenn Sie in der neuen Version keine verpassten Bibliotheken verwenden, können Sie aktualisieren. Erstellen Sie jedoch vorher ein Backup.

+0

Mit diesem composer.json hat das Update perfekt funktioniert. Ich muss nur meine benutzerdefinierten Bundles und "Doktrin/Daten-Fixtures" + "Doktrin/Doktrin-Fixtures-Bundle" hinzufügen. Vielen Dank. – lenko

+0

Gern geschehen. @hanzi unten gibt auch den Link zu der [composer.json] (https://github.com/symfony/symfony-standard/blob/2.4/composer.json) Datei von symfony-standard-edigin auf github, die ich gab in meinem Beispiel. –

4

Sie suchen nach dem falschen composer.json. Versuchen Sie dieses: https://github.com/symfony/symfony-standard/blob/2.4/composer.json

Erläuterung: Das symfony/symfony Repository ist das Framework selbst - aber Sie wollen nicht den Rahmen klonen, hängt nur von ihm. Deshalb verwenden Sie lieber das Repository symfony/symfony-standard, das im Grunde eine Vorlage für Projekte ist, die auf dem Symfony-Framework basieren. Wie geht es dir.

+0

Danke @hanzi. Jetzt verstehe ich, wie der Symfony Github organisiert ist. – lenko