🗑️ RemoveRepository
Removes the repository configuration with the specified name from composer.json, equivalent to running composer config --unset repositories.<name>.
When to use
Use this when a repository is no longer needed (e.g. a private source migration, or a VCS repository being archived). After removal, Composer will no longer resolve dependencies from that source.
Signature
go
func (c *Composer) RemoveRepository(name string) errorParameters
| Parameter | Type | Description |
|---|---|---|
name | string | The name of the repository to remove, corresponding to the key of repositories.<name> in composer.json |
Return value
error: returned with the corresponding error message when an error occurs during repository removal; nil on success.
Tip
Removing a non-existent repository does not error (Composer is idempotent about --unset on a missing key). To confirm the repository name first, you can use ListRepositories to view them.
Example
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("init failed: %v", err)
}
// Remove the repository named "private"
if err := comp.RemoveRepository("private"); err != nil {
log.Fatalf("remove repository failed: %v", err)
}
fmt.Println("Repository removal complete")
}Advanced
- To remove a global repository, use
RemoveGlobalRepository(name). - Methods to add repositories:
AddVcsRepository,AddComposerRepository,AddPathRepository,AddPackagistRepository. - After removal, you can run
Update(nil, false)to let Composer re-resolve dependencies. - Under the hood it runs
composer config --unset repositories.<name>.