Skip to content

🌐 AddComposerRepository

添加一个 Composer 类型的仓库(typecomposer)作为包源,通常用于连接私有 Composer 仓库服务(如 Satis、Private Packagist)。

何时使用

当你需要从一个自建的 Composer 仓库服务(提供 packages.json 元数据)拉取包时使用。适合企业内部搭建的私有包仓库场景。

签名

go
func (c *Composer) AddComposerRepository(name string, url string) error

参数

参数类型说明
namestring仓库名称,作为 composer.jsonrepositories.<name> 的键
urlstringComposer 仓库的 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 相关方法。

基于 MIT 许可证发布