假设我正在尝试安装具有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
作为版本名(或dev-branchName),它将从指定分支中提取最新提交。对于版本化的分支名称,请使用例如改为使用2.0.x-dev
作为版本名。
(有关更多详细信息,请参见Composer文档的Schema - package links部分。)1.0
和~1.0
之间的区别在于1.0
指定了特定的版本号,而~1.0
指定了与1.0“兼容”(根据语义版本控制)的任何版本。从Composer documentation:
通过示例可以更好地解释〜运算符:~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
等效。