是否可以手动更新deps
文件以获取最新版本的 Doctrine 2.2 ?我想使用新的Paginator组件。所以基本上我想用{:1}来调整deps
[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
并执行:
php bin/vendors update
您认为这会有效吗?
编辑:文件如下所示:http://pastebin.com/FEDMNhii
答案 0 :(得分:8)
在我看来,gilden建议的所有工作都是不必要的,也是过于谨慎的。当然,您可以随意手动更新deps
文件。我目前正在Symfony 2.0.11上运行Doctrine \ Common(2.2.1),Doctrine \ DBAL(2.2.1)和Doctrine(2.2.1)而没有任何问题。
利用需要特定版本的库,这不是您需要担心的库(通常),捆绑。例如,Symfony2没有直接依赖任何版本的Doctrine - 但DoctrineBundle确实如此。
在升级软件包/库之前,通常可以查看Packagist.org上所需的依赖项。搜索要升级的程序包,并查看它们定义的所需依赖项。 注意: Symfony 2.1不需要这样做,因为它将使用Composer来管理供应商库。
尽管如此,除非您尝试,否则您永远不会知道某些内容是否适用于您的安装。当然,不要做任何愚蠢的事情 - 但没有理由害怕通过更新供应商库来破坏事情。将您的代码存储在Git中,您可以轻松还原您的更改。请参阅:How to create and store a Symfony2 project in Git
此外,在version=#.#.#
中指定deps
时 - 即使您根本没有deps.lock
文件,您也将始终获得相同的提交哈希,因为您指定了Git标记在存储库中。
一些捆绑包,而不是提供版本号,将提供各种分支来管理与多个Symfony版本的兼容性。因此,您可能会看到类似version=origin/2.0
的内容,这意味着供应商脚本将检查存储库中名为2.0
的分支上的最新提交。维护者很可能会尝试保持该分支始终与Symfony 2.0.x兼容。
答案 1 :(得分:-1)
删除deps.lock
文件后,您显然会面临获取不稳定代码的风险。
我使用了以下步骤来最大限度地降低破坏某些内容的风险:
deps.lock
git checkout [commit]
,其中[commit]是新哈希值。deps.lock
并运行bin/vendors install
请记住,我会强烈建议不要这样做。如果你把事情搞砸了,你几乎就是自己而且没有人可以帮助你。