首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手动更新Symfony2 deps文件以获得Doctrine2.2?

手动更新Symfony2 deps文件以获得Doctrine2.2?
EN

Stack Overflow用户
提问于 2012-03-16 14:43:16
回答 2查看 6.6K关注 0票数 7

是否可以手动更新deps文件以获得Doctrine2.2的最新版本?我想使用新的分页器组件。因此,我基本上是在考虑用:

代码语言:javascript
复制
[doctrine-common]
    git=http://github.com/doctrine/common.git
    version=2.2.1

[doctrine-dbal]
    git=http://github.com/doctrine/dbal.git
    version=2.2.1

[doctrine]
    git=http://github.com/doctrine/doctrine2.git
    version=2.2.1

删除deps.lock并执行以下操作:

代码语言:javascript
复制
php bin/vendors update

,你认为这样能行吗?

编辑:该文件如下所示:http://pastebin.com/FEDMNhii

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-17 07:04:31

在我看来,吉尔登提出的所有工作都是不必要的,而且过于谨慎.当然,您可以用您想要的任何内容手动更新您的deps文件。我目前正在Symfony 2.0.11上运行Doctrine \ running (2.2.1)、Doctrine\DBAL (2.2.1)和Doctrine (2.2.1)。

您需要担心的不是库(通常),而是使用需要特定版本的库的。例如,Symfony2不直接依赖于任何版本的Doctrine --但是DoctrineBundle有。

在升级包/库之前,通常最好先检查它们对Packagist.org的所需依赖关系。搜索要升级的包,并查看它们定义了哪些必需的依赖项。注意:在Symfony 2.1上不需要使用,因为它将使用作曲家来管理供应商库。

不过,除非您尝试一下,否则您将永远不知道某些东西是否适合您的安装。当然,不要做任何蠢事--但是没有理由害怕通过更新供应商库来破坏这些东西。将代码存储在Git中,您可以轻松地恢复更改。请参阅:如何在Git中创建和存储Symfony2项目

此外,当在version=#.#.#中指定deps时--即使根本没有deps.lock文件,也总是会得到相同的提交哈希,因为您在存储库中指定了Git标记。

一些捆绑包(而不是提供版本号)将提供各种分支来管理与多个Symfony版本的兼容性。因此,您可能会看到类似于version=origin/2.0的内容,这意味着供应商脚本将在存储库的名为2.0的分支上签出最新的提交。维护人员很可能会试图使该分支始终与Symfony 2.0.x兼容。

票数 8
EN

Stack Overflow用户

发布于 2012-03-16 15:35:48

通过删除deps.lock文件,您显然是在冒获得不稳定代码的风险。

我使用了以下步骤,以尽量减少破坏某物的风险:

  • 写下要从deps.lock更新的组件的当前提交哈希
  • 从GitHub中查找提交哈希并将其写下来。
  • 导航到组件的目录并键入git checkout [commit],其中提交是新的哈希。
  • 清除您的缓存,并验证站点仍然或多或少地工作。
  • 将新提交哈希粘贴到deps.lock并运行bin/vendors install

记住,我强烈建议不要这样做。如果你把事情搞砸了,你几乎只能靠自己了,没有人能帮你。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9739350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档