🧪 GetPackageDevVersions
获取包的开发分支版本信息(原始 JSON 字节),如 dev-master、dev-main。
何时使用
🧪 需要测试分支版本或跟踪未发布特性时;🛠️ 自建镜像需提供与 Composer ~dev 等价的 dev 版本元数据时。
签名
go
func (c *ComposerClient) GetPackageDevVersions(packageName string) ([]byte, error)参数
| 参数 | 类型 | 说明 |
|---|---|---|
packageName | string | 包名,如 symfony/console |
返回值
| 值 | 类型 | 说明 |
|---|---|---|
| 数据 | []byte | dev 版本元数据原始 JSON 字节 |
| 错误 | error | HTTP 失败、非 200 时返回 |
对应端点:GET https://repo.packagist.org/p2/{name}~dev.json(走 repoURL)。
示例
go
package main
import (
"fmt"
"log"
"time"
"github.com/scagogogo/composer-skills/pkg/client"
)
func main() {
c := client.NewComposerClient(30 * time.Second)
data, err := c.GetPackageDevVersions("symfony/console")
if err != nil {
log.Fatal(err)
}
// 包含 dev-master / dev-main 等分支版本
fmt.Println(string(data))
}进阶
URL 约定
Packagist 用包名后追加 ~dev 表示请求开发分支版本,SDK 自动拼接为 {repoURL}/p2/{name}~dev.json。
- 🧩 对应的稳定版本元数据用
GetPackageWithV2Metadata。 - 📦 结构化包信息(含已发布版本)用
GetPackage。 - 📊 统计可用版本列表用
GetPackageStats。