2017-02-23 101 views
1

我只是想用PHP 5.6的服务器上安装我的Symfony 3.2的应用程序,并且composer install告诉我twig/twig v2.0.0 requires php ^7.0 -> your PHP version (5.6.22) does not satisfy that requirement.Symfony的3.2:树枝/树枝V2.0.0需要PHP^7.0

我怎样才能改变树枝版本在我的应用程序中使用?据我所知,Symfony使用树枝束(https://packagist.org/packages/symfony/twig-bundle)。

我是否需要在较低版本(哪一个?)中添加symfony/twig-bundle,或者是否需要将我的composer.json require部分添加到twig/twig v1.31.0?


UPDATE:

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 
    } 
} 

我的命令:

Image

+0

你可以在这里发布你的'composer.json'文件吗? –

+0

@TomaszMadeyski我做了:) – meandeveloper111

回答

5

你可以用嫩枝1.x的:.添加/在你composer.json更改此:

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

然后运行composer update。如果你想知道installupdate之间的区别是什么,请阅读this answer

+0

感谢您的回答斯蒂芬。我添加了捆绑包,但是使用作曲家安装它仍然尝试安装v2.0.0。 也许我需要以某种方式更新composer.lock? 我会发布我的composer.json和命令的结果作为我的问题的更新。 – meandeveloper111

+1

'composer.json'发生变化后,您需要运行'composer update'(而不是''install') –

+0

啊,当然!谢谢你,你的回答解决了我的问题:) – meandeveloper111