使用"vendor/xyz-bundle": "~2.1.0@dev"
的composer.json中的语法,我试图在2.0分支中获取最新的提交,但它总是检出标记2.1.0,而不是进入最新的提交2.0分支。
这是看起来像:
我在xyz-bundle中尝试了各种带分支别名的东西,但它永远不会得到2.0的最后一次提交。
是否与没有特定的2.1分支,只有2.0分支的事实有关?如何查看2.0分支中的最后一次提交?
答案 0 :(得分:5)
~2.1.0
(标志现在不重要)表示>=2.1.0,<2.2.0
。您期望2.0.x
,这不在版本范围内。
~2.0
表示>=2.0,<3.0
。您的预期版本(2.0.x
)在此范围内。但是,Composer将始终在该范围内安装最新版本。所以它需要2.1.x
代替。
如果您想要2.0中的最新版本,则需要2.0.*@dev
或~2.0.0@dev
(均为>=2.0.0,<2.1.0
)。
提示:您可以使用this usefull online utility来测试版本约束(这样您就可以准确找出应该使用的版本约束)。