2014-10-11 162 views
3

我在Symfony2中制作了项目,并使用composer获取所有必需的捆绑包。禁用更新的作曲家?

我到了那里,例如:

"symfony/symfony": "2.5.*", 
"knplabs/knp-snappy-bundle": "dev-master", 
"knplabs/knp-menu-bundle": "~1.1", 
"sonata-project/core-bundle": "*", 

它运作良好,但如果束将被再更新了一个月就坏了。

阻止作曲者更新当前版本包的最佳方法是什么?我知道 - 我可以提供最新版本,但是可以在哪里找到它们?

+0

你可以重新提出你的问题,目前还不清楚你问的是/你的问题是什么。 – 2014-10-11 18:32:06

+2

为避免破坏,请在包装的版本规格中保守和特定。也就是说,不要使用“*”或“dev-master”,而是将包限制在更窄的范围内,比如'“2.5。*”' – 2014-10-11 18:33:07

+0

对不起 - 捆绑更新 – max7773 2014-10-11 18:33:37

回答

1

最好的做法是修复各种标签的版本,以确保您使用相同的代码。例如:

"symfony/symfony": "2.5.5" 

为所有捆绑包设置标签可能是一项挑剔的工作。 (至少是第一次)。但对于生产中的应用程序,从不依靠开发或主分支机构。之后,例如,您可以在每次symfony发布后更新这些标签。

要找到可以使用packagist的标签,它将比Github更快。例如,对于knp-snappy-bundle

enter image description here

+1

好的,我知道,但是我可以在哪里获取所有包的当前版本?现在我有30捆!我搜查了所有? – max7773 2014-10-11 18:36:08

+0

正确...更新了我的答案。 – COil 2014-10-11 18:41:00

+0

@ max7773'composer show --installed'将显示您安装了版本的所有供应商的列表 – 2014-10-12 08:22:11

1

我可以提供的当前版本,而是让他们在哪里?

是的,你真的应该提供那些。作曲家包(通常)遵循所谓的semantic versioning

也就是说然后是其上composer.org解释用于指定composer.json版本的基础:

在编写你瞄准稳定性,这些都是有问题的:

  • DEV-主
  • *

与semver比较,您通常希望保持在MINOR或PATCH内。只有真正的版本。

使用composer show -i命令可显示已安装的软件包。然后检查packagist的可用版本,如果它仍然不清楚这个输出。