🗑️ RemoveRepository
从 composer.json 中移除指定名称的仓库配置,等价于执行 composer config --unset repositories.<name>。
何时使用
当某个仓库不再需要(例如私有源迁移、VCS 仓库归档)时使用。移除后 Composer 将不再从该来源解析依赖。
签名
go
func (c *Composer) RemoveRepository(name string) error参数
| 参数 | 类型 | 说明 |
|---|---|---|
name | string | 要移除的仓库名称,对应 composer.json 中 repositories.<name> 的键 |
返回值
error:移除仓库过程中发生错误时返回相应错误信息,成功时为 nil。
提示
移除不存在的仓库不会报错(Composer 对 --unset 不存在的键是幂等的)。如需先确认仓库名称,可用 ListRepositories 查看。
示例
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)
}
// 移除名为 "private" 的仓库
if err := comp.RemoveRepository("private"); err != nil {
log.Fatalf("移除仓库失败: %v", err)
}
fmt.Println("仓库移除完成")
}进阶
- 想移除全局仓库,使用
RemoveGlobalRepository(name)。 - 添加仓库的方法:
AddVcsRepository、AddComposerRepository、AddPathRepository、AddPackagistRepository。 - 移除后可运行
Update(nil, false)让 Composer 重新解析依赖。 - 底层执行
composer config --unset repositories.<name>。