2017-02-23 3 views
1

Ich wollte nur meine Symfony 3.2-Anwendung auf einem Server mit PHP 5.6, installieren und ein composer install sagt mir twig/twig v2.0.0 requires php ^7.0 -> your PHP version (5.6.22) does not satisfy that requirement.Symfony 3.2: Zweig/Zweig v2.0.0 erfordert PHP^7.0

Wie kann ich den Zweig Version ändern, dass Wird in meiner App verwendet? Soweit ich weiß, verwendet Symfony das Zweigbündel (https://packagist.org/packages/symfony/twig-bundle).

Muss ich das symfony/twig-bundle in einer niedrigeren Version hinzufügen (welche?) Oder muss ich den Zweig/Zweig v1.31.0 zu meinem composer.json require-Abschnitt hinzufügen?


UPDATE:

Mein composer.json:

{ 
    "name": "...", 
    "license": "proprietary", 
    "type": "project", 
    "autoload": { 
     "psr-4": { 
      "": "src/" 
     }, 
     "classmap": [ 
      "app/AppKernel.php", 
      "app/AppCache.php" 
     ] 
    }, 
    "autoload-dev": { 
     "psr-4": { 
      "Tests\\": "tests/" 
     } 
    }, 
    "require": { 
     "php": ">=5.5.9", 
     "symfony/symfony": "3.2.*", 
     "twig/twig": "1.31.*", 
     "doctrine/orm": "^2.5", 
     "doctrine/doctrine-bundle": "^1.6", 
     "doctrine/doctrine-cache-bundle": "^1.2", 
     "symfony/swiftmailer-bundle": "^2.3", 
     "symfony/monolog-bundle": "^3.0", 
     "symfony/polyfill-apcu": "^1.0", 
     "sensio/distribution-bundle": "^5.0", 
     "sensio/framework-extra-bundle": "^3.0.2", 
     "incenteev/composer-parameter-handler": "^2.0", 
     "javiereguiluz/easyadmin-bundle": "^1.16", 
     "doctrine/doctrine-fixtures-bundle": "^2.3", 
     "symfony/dom-crawler": "^3.2" 
    }, 
    "require-dev": { 
     "sensio/generator-bundle": "^3.0", 
     "symfony/phpunit-bridge": "^3.0" 
    }, 
    "scripts": { 
     "symfony-scripts": [ 
      "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", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget" 
     ], 
     "post-install-cmd": [ 
      "@symfony-scripts" 
     ], 
     "post-update-cmd": [ 
      "@symfony-scripts" 
     ] 
    }, 
    "extra": { 
     "symfony-app-dir": "app", 
     "symfony-bin-dir": "bin", 
     "symfony-var-dir": "var", 
     "symfony-web-dir": "web", 
     "symfony-tests-dir": "tests", 
     "symfony-assets-install": "relative", 
     "incenteev-parameters": { 
      "file": "app/config/parameters.yml" 
     }, 
     "branch-alias": null 
    } 
} 

Mein Befehl:

Image

+0

Können Sie Ihre 'composer.json' Datei hier posten? –

+0

@TomaszMadeyski ich habe :) – meandeveloper111

Antwort

5

können Sie Zweig 1.x verwenden :. Hinzufügen/ändern Sie dies in Ihrem composer.json:

"require": { 
    "symfony/symfony": "v3.2.*", 
    "twig/twig": "1.31.*" 
} 

Und dann composer update laufen. Wenn Sie wissen möchten, was der Unterschied zwischen install und update ist, lesen Sie this answer.

+0

Danke für Ihre Antwort Stephan. Ich habe das Zweigbündel hinzugefügt, aber mit der Installation von Composer versucht es immer noch die v2.0.0 zu installieren. Vielleicht muss ich den composer.lock irgendwie aktualisieren? Ich poste mein composer.json und das Ergebnis des Befehls als ein Update auf meine Frage. – meandeveloper111

+1

nach einer Änderung in 'composer.json' müssen Sie' composer update' (und nicht 'install') ausführen –

+0

Ah ja, natürlich! Danke, deine Antwort hat mein Problem gelöst :) – meandeveloper111

Verwandte Themen