如何用Composer的通配符匹配特定版本号?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1037个文字,预计阅读时间需要5分钟。
使用Composer时,不支持使用shell风格的通配符(例如 `1.*`、`7.4.*` 或 `2.x`)作为版本指定符。这类写法会导致 `Invalid version string` 错误。
Composer使用语义化版本控制(SemVer)约定,正确的版本格式应该是使用 `^`、`~` 或 `>` 等符号。例如:
为什么 1.* 和 7.4.* 都会报错
Composer 的版本解析器严格遵循 semver.org 规范,* 在版本字符串中没有定义语义——它既不是合法的版本号片段,也不被当作通配符处理。哪怕你只写 "php": "7.4.*",也会在 composer validate 或 composer install 时直接失败。
本文共计1037个文字,预计阅读时间需要5分钟。
使用Composer时,不支持使用shell风格的通配符(例如 `1.*`、`7.4.*` 或 `2.x`)作为版本指定符。这类写法会导致 `Invalid version string` 错误。
Composer使用语义化版本控制(SemVer)约定,正确的版本格式应该是使用 `^`、`~` 或 `>` 等符号。例如:
为什么 1.* 和 7.4.* 都会报错
Composer 的版本解析器严格遵循 semver.org 规范,* 在版本字符串中没有定义语义——它既不是合法的版本号片段,也不被当作通配符处理。哪怕你只写 "php": "7.4.*",也会在 composer validate 或 composer install 时直接失败。

