🌐 AddComposerRepository
添加一个 Composer 类型的仓库(type 为 composer)作为包源,通常用于连接私有 Composer 仓库服务(如 Satis、Private Packagist)。
何时使用
当你需要从一个自建的 Composer 仓库服务(提供 packages.json 元数据)拉取包时使用。适合企业内部搭建的私有包仓库场景。
签名
go
func (c *Composer) AddComposerRepository(name string, url string) error参数
| 参数 | 类型 | 说明 |
|---|---|---|
name | string | 仓库名称,作为 composer.json 中 repositories.<name> 的键 |
url | string | Composer 仓库的 URL,例如 https://composer.example.org |
返回值
error:添加 Composer 仓库过程中发生错误时返回相应错误信息,成功时为 nil。
示例
go
package main
import (
"fmt"
"log"
"github.com/scagogogo/composer-skills/pkg/composer"
)
func main() {
comp, err := composer.New(composer.DefaultOptions())
if err != nil {
log.Fatalf("初始化失败: %v", err)
}
// 添加私有 Composer 仓库
if err := comp.AddComposerRepository("private", "https://composer.example.org"); err != nil {
log.Fatalf("添加 Composer 仓库失败: %v", err)
}
fmt.Println("Composer 仓库添加完成")
}进阶
- 添加 Git/SVN 仓库用
AddVcsRepository;添加本地路径用AddPathRepository。 - 想配置 Packagist 官方源或镜像,使用
AddPackagistRepository。 - 底层实现是
AddRepository(name, Repository{Type: ComposerRepository, URL: url})。 - 如需搭建私有 Composer 仓库服务,可参考
pkg/composer/satis.go中的 Satis 相关方法。