composer中指定依赖分支名的坑
之前只是看着别人写的composer.json,知道如果依赖一个项目的master分之,则在依赖的version中可以写dev-master
。我就以为所有对分支的依赖,都是写成dev-<branch_name>
。
后来发现,v1.x
这种分支名,不能直接使用dev-v1.x
来声明依赖。 查了下官方文档 :
For every branch, a package development version will be created. If the branch name looks like a version, the version will be
{branchname}-dev
. For example, the branch2.0
will get the2.0.x-dev
version (the.x
is added for technical reasons, to make sure it is recognized as a branch). The2.0.x
branch would also be valid and be turned into2.0.x-dev
as well. If the branch does not look like a version, it will bedev-{branchname}
.master
results in adev-master
version.
翻译如下:
对于每个分支,对应的包都会创建一个开发版本。如果分支名看起来像一个版本号,则开发版本的名字是{branchname}-dev。
比如,分支2.0则会创建2.0.x-dev版本(后面的 .x 是为了技术原因添加,为了确保这个版本能够被识别为分支)。 2.0.x 分支也会被转换为 2.0.x-dev。如果分支看起来不像一个版本,版本号将会是dev-{branchname}
。master分支的版本号是dev-master。
另外,当同时存在1.0 tag 和1.0.x分支时,1.0.x-dev指向的是1.0分支。
composer中指定依赖分支名的坑