为什么composer update将symfony更新到2.5,但它是';symfony/symfony&qu


Why composer update updates symfony to 2.5 but it's "symfony/symfony": "~2.4"?

也许我对Composer的工作方式完全错误,但考虑到以下composer.json (Symfony的一部分,有一些额外的要求没有在这里显示):

"require": {
    "php": ">=5.3.3",
    "symfony/symfony": "~2.4",
    "doctrine/orm": "dev-master",
    "doctrine/dbal": "dev-master",
    "doctrine/doctrine-bundle": "dev-master",
    "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": "~3.0",
    "sensio/generator-bundle": "~2.3",
    "incenteev/composer-parameter-handler": "~2.0",
    // my requirements here
}

当我运行composer update时,我得到symfony/symfony 2.5而不是~2.4(即AFAIK 2.4.1, 2.4.2等)。

~2.4相当于>=2.4,<3.0。如果你想继续使用2.4.x分支,你就必须使用2.4.*

您可以在Composer的文档页面上阅读更多关于版本号的信息:https://getcomposer.org/doc/01-basic-usage.md#package-versions