当我跑步时
composer require symfony/symfony
我的作曲家JSON中有这个:
"symfony/symfony": "^2.7"
虽然我想有这个:
"symfony/symfony": "^2.7.6"
我可以让作曲家将补丁(从常规MAJOR.MINOR.PATCH)保存到composer.json中吗?
如果那不可能那么为什么?
答案 0 :(得分:2)
由于惯例,这是不可能的。在~99%的用例中,锁定补丁版本是没有意义的。
根据Semantic versioning,包应该在每个次要版本中兼容。从2.5
更新后,2.4
的含义不会中断。
软件的发展和升级所需的版本越少越容易。这是一种软升级的升级(用语言表示:如果有2.4
,请不要停留在版本2.15
上)并支持包开发。
答案 1 :(得分:1)
我可以让作曲家将补丁(从常规MAJOR.MINOR.PATCH)保存到composer.json中吗?
在这里:composer require symfony/symfony:"^2.7.6"
。
或修改composer.json
:
{
"require": {
"symfony/symfony": "^2.7.6"
}
}
评论提问:
如何在不编写版本的情况下要求并获得写入composer.json的最新文章?
默认情况下,Composer使用^major.minor
。它不会插入^major.minor.current-latest-patch-level
。
有人可能会争辩说,如果给出了补丁级别范围的特定开始,解算器可以跳过某些补丁级别版本。这里将跳过版本2.7.0 to 2.7.5
。
另一方面,指定^major.minor
允许最大的互操作性,包括完整的补丁级别范围,从最低补丁级别开始然后再上升。
至少你有机会在CLI上编写特定的版本要求(见上文)。