在Composer中使用dev-master以外的开发分支需在require中指定dev-前缀加分支名,如"dev-feature/new-api",并可通过@dev或minimum-stability允许不稳定版本,推荐结合as别名辅助依赖解析,私有包需先声明vcs仓库。

在 Composer 中为一个包使用 dev-master 以外的开发分支,可以通过指定分支名称并加上 dev- 前缀来实现。Composer 支持直接引用 Git 分支,只要你在版本约束中正确命名即可。
使用 dev-前缀引用开发分支
假设你希望使用名为 feature/new-api 的开发分支,可以在 composer.json 中这样写:
{
"require": {
"vendor/package": "dev-feature/new-api"
}
}
Composer 会克隆该仓库,并检出 feature/new-api 分支。注意:必须以 dev- 开头,然后紧跟分支名,斜杠无需转义。
避免稳定性问题:使用 @dev
开发分支默认被视为不稳定,你需要显式允许不稳定版本:
- 在 require 版本中包含 @dev
- 或在 config 中设置 "minimum-stability": "dev"
推荐做法是在 require 中直接写:
"require": {
"vendor/package": "dev-feature/new-api as 1.5.x-dev"
}
其中 as 1.5.x-dev 是可选的版本别名,便于依赖解析。
使用 VCS 仓库定义私有或非 Packagist 包
如果包不在 Packagist 上,需先声明仓库类型:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/vendor/package"
}
],
"require": {
"vendor/package": "dev-feature/new-api"
}
}
Composer 会从指定的 Git 地址拉取代码,并切换到目标分支。
基本上就这些。只要分支存在且命名正确,Composer 能自动处理。注意不要拼错分支名,否则会报 “Could not find package” 错误。不复杂但容易忽略细节。










