Skip to content

🔄 GlobalUpdate

Updates packages installed in the Composer global environment; you can specify a set of package names or leave it empty to update all.

When to use

Use this when globally installed tools need to be upgraded to new versions, or when the global composer.json dependencies have changed and need to be synced. Equivalent to running composer global update.

Signature

go
func (c *Composer) GlobalUpdate(packages []string) error

Parameters

ParameterTypeDescription
packages[]stringThe list of package names to update; pass an empty slice or nil to update all global packages

Return value

error: Returns the corresponding error message when an error occurs during execution; 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("Initialization failed: %v", err)
	}

	// Update only the specified global package
	if err := comp.GlobalUpdate([]string{"psy/psysh"}); err != nil {
		log.Fatalf("Update failed: %v", err)
	}

	// Update all global packages
	if err := comp.GlobalUpdate(nil); err != nil {
		log.Fatalf("Update all failed: %v", err)
	}

	fmt.Println("Global update completed")
}

Advanced

  • To pass options such as --prefer-dist, --no-dev, or --with-dependencies, use the GlobalUpdateWithOptions variant.
  • To install global packages, see GlobalRequire; to remove, see GlobalRemove.
  • After updating, you usually need to regenerate the autoloader; call GlobalDumpAutoload.

Released under the MIT License