你需要一些方法来指明自己开发的包的版本,当你在 Packagist 上发布自己的包,它能够从 VCS (git, svn, hg) 的信息推断出包的版本,因此你不必手动指明版本号,并且也不建议这样做。请查看 标签 和 分支 来了解版本号是如何被提取的。
如果你想要手动创建并且真的要明确指定它,你只需要添加一个 version
字段:
{ "version": "1.0.0" }
注意: 你应该尽量避免手动设置版本号,因为标签的值必须与标签名相匹配。
标签
对于每一个看起来像版本号的标签,都会相应的创建一个包的版本。它应该符合 'X.Y.Z' 或者 'vX.Y.Z' 的形式,-patch
、-alpha
、-beta
或 -RC
这些后缀是可选的。在后缀之后也可以再跟上一个数字。
下面是有效的标签名称的几个例子:
1.0.0
v1.0.0
1.10.5-RC1
v4.4.4beta2
v2.0.0-alpha
v2.0.4-p1
注意: 即使你的标签带有前缀
v
, 由于在需要require
一个版本的约束时是不允许这种前缀的, 因此v
将被省略(例如标签V1.0.0
将创建1.0.0
版本)。
分支
对于每一个分支,都会相应的创建一个包的开发版本。如果分支名看起来像一个版本号,那么将创建一个如同 {分支名}-dev
的包版本号。例如一个分支 2.0
将产生一个 2.0.x-dev
包版本(加入了 .x
是出于技术的原因,以确保它被识别为一个分支,而 2.0.x
的分支名称也是允许的,它同样会被转换为 2.0.x-dev
)。如果分支名看起来不像一个版本号,它将会创建 dev-{分支名}
形式的版本号。例如 master
将产生一个 dev-master
的版本号。
下面是版本分支名称的一些示例:
1.x
1.0 (equals 1.0.x)
1.1.x
注意: 当你安装一个新的版本时,将会自动从它
source
中拉取。 详细请查看install
命令。
别名
它表示一个包版本的别名。例如,你可以为 dev-master
设置别名 1.0.x-dev
,这样就可以通过 require 1.0.x-dev
来得到 dev-master
版本的包。
详细请查看“别名”。