composer.json 中"版本"字段的含义是什么?



在composer.json中,可以指定一个"版本"字段;下面是一个示例:

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

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

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

在这种情况下,它会赢得标签吗?

谢谢!

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

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

在某些情况下,例如,如果要使用工件存储库,则需要在 composer.json 中指定版本。

总结一下:如果你不知道你需要它,那就把它排除在外:)

最新更新