composer.json中“version”字段的含义是什么?

时间:2016-04-21 12:18:58

标签: json composer-php version

在composer.json中,可以指定“版本”字段;这是一个例子:

{
    "name": "vendor/dummy_package",
    "description": "Dummy package",
    "version": "1.0.0"
}

这个字段的含义是什么,因为它似乎不是强制性的?

是否用于比较vendor/dummy_package的所需版本?

在那种情况下,它是否胜过标签?

谢谢!

1 个答案:

答案 0 :(得分:10)

该版本是Composer将包解析为依赖所必需的。但是,在大多数情况下(并且100%的时间都在packagist上),版本来自存储库中的标记和分支。

在这些情况下,如果版本存在于composer.json中,对于分支,它将被忽略,但对于标记,它必须与标记名称匹配,否则作曲家将认为该标记无效,因为它具有冲突的版本信息。因此,我们通常建议人们完全退出版本,因为它可以减少出现问题的机会。

在某些情况下,例如,如果您想使用artifact repository,则需要在composer.json中指定版本。

总结一下:如果你知道你需要它,那就把它留下来:)