【问题标题】:Steps to upgrade in Symfony 2.1 using composer使用 composer 在 Symfony 2.1 中升级的步骤
【发布时间】:2012-07-22 17:50:33
【问题描述】:

我只是在 symfony 2.1-BETA3 上测试新功能。几个小时前 BETA4 已经发布,但我不知道如何使用 composer 将 BETA3 更新为 BETA4。 Fabien 在 2.0.x 发行说明中说:

如果您已经有一个基于 Symfony 标准版 2.0.x 的项目,您可以通过获取新的 deps 和 deps.lock 文件轻松升级到 2.0.15。

我是否替换了我的 composer.lock 文件?我自己的要求呢:

"package": "stof/doctrine-extensions-bundle",
"version": "dev-master",
"source-reference": "36356b158b74cb68f96dc0b657e8732422b9d5dd",
"commit-date": "1341954345"

【问题讨论】:

    标签: symfony-2.1 composer-php


    【解决方案1】:

    在 symfony2 根目录下下载 composer:

    curl -s https://getcomposer.org/installer | php
    

    并执行

    php composer.phar self-update
    php composer.phar update
    

    如果您可以更新到最新版本,请使用它。

    【讨论】:

      【解决方案2】:

      除了@KingCrunch 告诉你的内容之外,可能还有其他事情要做,例如 Doctrine 的命名空间已更改,配置文件(security.yml、config.yml)中的某些节点已从 2.0.* 更改为2.1.*

      您应该阅读 symfony2 github 存储库上的 README,因为它详细解释了 sf 2.0 和 sf 2.1 之间的变化

      【讨论】:

      • 谢谢杰弗里!我已经安装了标准版 BETA3。 sf 2.0 和 sf 2.1 之间存在差异。还是 2.1-BETA3 和 2.1-BETA4?
      • 哦,我的错,我以为你正在从 sf2.0 切换到 sf2.1,在这种情况下,@KingCrunch 解决方案是最好的解决方案
      【解决方案3】:

      不要碰composer.lock!更改composer.json。如果你使用的是标准版,你可能已经有了类似的东西

      "symfony/symfony": "2.1.*"
      

      "minimum-stability": "dev"
      

      在那里。后一种意味着您允许安装开发包。第一个意味着,你想要 any 2.1.* 版本。你可以改成

      "symfony/symfony": "2.1.0-BETA4"
      

      如果你愿意,但原来的 2.1.* 现在应该足够了。现在调用

      php composer.phar update
      

      这也会更新composer.lock。现在你可能必须打电话(必须说:我忘记了)打电话

      php composer.phar install
      

      composer.lock 安装依赖项。

      简而言之:

      # To install (maybe even after update)
      $ php composer.phar install
      # To update 
      $ php composer.phar update
      # To add, remove or change dependencies
      # edit composer.json
      $ php composer.phar update
      

      你永远不需要自己去触摸composer.lock,你不应该避免作曲家的副作用。

      【讨论】:

      • mmm...基本上,我什么都不用碰。在 composer.json 中留下 "symfony/symfony": "2.1.*" 并运行 "php composer.phar update" 有效。
      • 是的 :) 只要我不“认真”部署我的应用程序,我就会这样做:不时地composer.phar update 并将更新的composer.lock 提交到存储库中。
      猜你喜欢
      • 2015-08-25
      • 2014-02-02
      • 1970-01-01
      • 2021-06-20
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-18
      相关资源
      最近更新 更多