Skip to content

🔄 GlobalUpdate

更新 Composer 全局环境中已安装的包,可指定若干包名或留空更新全部。

何时使用

当全局安装的工具需要升级到新版本、或全局 composer.json 依赖发生变化后需要同步时使用。相当于执行 composer global update

签名

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

参数

参数类型说明
packages[]string要更新的包名列表;传空切片或 nil 则更新所有全局包

返回值

error:执行过程中发生错误时返回相应错误信息,成功时为 nil

示例

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

	// 只更新指定的全局包
	if err := comp.GlobalUpdate([]string{"psy/psysh"}); err != nil {
		log.Fatalf("更新失败: %v", err)
	}

	// 更新全部全局包
	if err := comp.GlobalUpdate(nil); err != nil {
		log.Fatalf("更新全部失败: %v", err)
	}

	fmt.Println("全局更新完成")
}

进阶

  • 如需传入 --prefer-dist--no-dev--with-dependencies 等选项,使用 GlobalUpdateWithOptions 变体。
  • 安装全局包见 GlobalRequire,移除见 GlobalRemove
  • 更新后通常需要重新生成自动加载,可调用 GlobalDumpAutoload

基于 MIT 许可证发布