2016-04-21 72 views
6

在composer.json中可以指定一个“版本”字段;这里是一个例子:composer.json中“version”字段的含义是什么?

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

这是什么意思,因为它似乎不是强制性的?

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

在这种情况下,它是否赢得标签?

谢谢!

回答

9

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

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

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

综上所述:如果你不知道你需要它,然后离开它:)

相关问题