🔄 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。