【问题标题】:Why composer update updates symfony to 2.5 but it's "symfony/symfony": "~2.4"?为什么 composer update 将 symfony 更新到 2.5 但它是“symfony/symfony”:“~2.4”?
【发布时间】:2014-06-21 08:51:30
【问题描述】:

也许我对 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.5。很奇怪。
  • 问题也应该是:为什么不呢?总是从两个方向询问。

标签: php symfony composer-php


【解决方案1】:

~2.4 等同于>=2.4,<3.0。如果您想留在2.4.x 分支,则必须使用2.4.*

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

【讨论】:

  • 我的错误...我确信 ~2.4 相当于 2.4.*。
  • 仅作记录:在~语法中相当于2.4.*是~2.4.0
猜你喜欢
  • 2014-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-16
  • 2016-01-29
  • 2014-10-28
  • 1970-01-01
相关资源
最近更新 更多