在composer.json中,可以指定“版本”字段;这是一个例子:
{
"name": "vendor/dummy_package",
"description": "Dummy package",
"version": "1.0.0"
}
这个字段的含义是什么,因为它似乎不是强制性的?
是否用于比较vendor/dummy_package
的所需版本?
在那种情况下,它是否胜过标签?
谢谢!
答案 0 :(得分:10)
该版本是Composer将包解析为依赖所必需的。但是,在大多数情况下(并且100%的时间都在packagist上),版本来自存储库中的标记和分支。
在这些情况下,如果版本存在于composer.json中,对于分支,它将被忽略,但对于标记,它必须与标记名称匹配,否则作曲家将认为该标记无效,因为它具有冲突的版本信息。因此,我们通常建议人们完全退出版本,因为它可以减少出现问题的机会。
在某些情况下,例如,如果您想使用artifact repository,则需要在composer.json中指定版本。
总结一下:如果你知道你需要它,那就把它留下来:)