假设我正在尝试安装一个包含1.0分支和master分支的包。1.0分支有1.0.1、1.0.2等标签。
我想做的是在分支中安装最新版本。我不想安装带标签的版本-我想安装最新的分支版本。
以下是我尝试过的:
composer require package/package:1.0
composer require package/package:~1.0
这两个都得到了最新的1.0.*标记,但不是1.0分支中的最新标记。
我想做的事情有可能吗?
就这一点而言,1.0
和~1.0
之间到底有什么区别?
您可以要求dev-master
作为版本名(或devbranchName),它将从指定的分支中提取最近的提交。对于版本化的分支名称,请使用例如2.0.x-dev
作为版本名称。
(更多详细信息可在Composer文档的Schema-package链接部分找到。)
1.0
和~1.0
之间的区别在于,1.0
指定了一个特定的版本号,而~1.0
指定允许任何与1.0"兼容"(根据语义版本控制)的版本。来自Composer文档:
~算子最好用例子来解释:
~1.2
等价于>=1.2 <2.0.0
,而~1.2.3
等价于>=1.2.3 <1.3.0
。
还有类似的^运算符:^1.2.3
等价于>=1.2.3 <2.0.0
。