Skip to content

🌐 AddComposerRepository

Adds a Composer-typed repository (type set to composer) as a package source, typically used to connect to a private Composer repository service (e.g. Satis, Private Packagist).

When to use

Use when you need to pull packages from a self-hosted Composer repository service (one that serves packages.json metadata). Suitable for privately hosted package repositories within an enterprise.

Signature

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

Parameters

ParameterTypeDescription
namestringRepository name, used as the key of repositories.<name> in composer.json
urlstringURL of the Composer repository, e.g. https://composer.example.org

Return value

error: Returns the corresponding error message if an error occurs while adding the Composer 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)
	}

	// Add a private Composer repository
	if err := comp.AddComposerRepository("private", "https://composer.example.org"); err != nil {
		log.Fatalf("failed to add Composer repository: %v", err)
	}

	fmt.Println("Composer repository added")
}

Advanced

  • To add a Git/SVN repository, use AddVcsRepository; to add a local path, use AddPathRepository.
  • To configure the official Packagist source or a mirror, use AddPackagistRepository.
  • The underlying implementation is AddRepository(name, Repository{Type: ComposerRepository, URL: url}).
  • If you need to set up a private Composer repository service, refer to the Satis-related methods in pkg/composer/satis.go.

Released under the MIT License