在 Composer 中,v1.0.0 和 1.0.0 被视为同一版本,因 Composer 遵循 SemVer 规则并自动忽略 v 前缀;建议在 composer.json 中统一使用不带 v 的格式以保持一致性,而 Git 标签可保留 v 前缀,主流仓库均能正确识别。

在 Composer 中,v1.0.0 和 1.0.0 这两种写法通常没有实质区别,Composer 会把它们视为同一个版本。
版本号解析机制
Composer 使用语义化版本(SemVer)规则来解析版本号。它在处理标签时会自动忽略前缀 v,因为很多 Git 仓库习惯在版本标签前加 v,比如 v1.0.0 或 v2.1.3。
当你在 composer.json 中引用一个包时:
"vendor/package": "1.0.0""vendor/package": "v1.0.0"
这两种写法 Composer 都能正确识别,并指向同一个版本。
实际使用建议
尽管两者等效,但为了保持一致性,建议:
- 在
composer.json中统一使用不带 v 的格式(如 1.0.0),这是社区更常见的做法。 - 如果你是包的发布者,在 Git 标签中可以用 v1.0.0,这是常见惯例,Composer 能正常读取。
注意事项
虽然大多数情况下没问题,但极少数旧版工具或自定义仓库可能对 v 前缀敏感。只要使用官方 Packagist 或主流镜像,这种差异不会造成问题。
基本上就这些,Composer 已经很好地处理了这种常见变体。










