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

Ale*_*chi 8 json version composer-php

在composer.json中,可以指定"version"字段; 这是一个例子:

{
    "name": "vendor/dummy_package",
    "description": "Dummy package",
    "version": "1.0.0"
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

谢谢!

Sel*_*aek 12

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

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

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

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