Skip to content

📥 AddPackagistRepository

Adds Packagist.org (or one of its mirrors) as a Composer package source, equivalent to configuring a packagist.org repository in composer.json.

When to use

Use when you need to replace the official Packagist source with a regional mirror (e.g. the Aliyun mirror) to speed up downloads, or when you want to re-enable Packagist after it has been disabled.

Signature

go
func (c *Composer) AddPackagistRepository(url string) error

Parameters

ParameterTypeDescription
urlstringURL of the Packagist repository. The official source is https://repo.packagist.org; a mirror example is https://mirrors.aliyun.com/composer

Return value

error: Returns the corresponding error message if an error occurs while adding the Packagist repository; nil on success.

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)
	}

	// Use the Aliyun Packagist mirror for faster downloads
	if err := comp.AddPackagistRepository("https://mirrors.aliyun.com/composer"); err != nil {
		log.Fatalf("failed to add Packagist mirror: %v", err)
	}

	fmt.Println("Packagist mirror configured")
}

Advanced

  • To disable the official Packagist source (when only using private repositories), use DisablePackagistRepository(); to re-enable it, use EnablePackagistRepository().
  • To add a private Composer source, use AddComposerRepository.
  • The underlying implementation is AddRepository("packagist.org", Repository{Type: PackagistRepository, URL: url}).
  • After adding, you can verify the configuration with ListRepositories.

Released under the MIT License