Skip to content

🚀 SelfUpdate

将 Composer 自身升级到最新版本。等价于执行 composer self-update

何时使用

当 CI/CD 流水线或本地脚本需要确保使用最新 Composer 时调用。升级后通常会重新读取版本号确认,可配合 GetVersion 使用。

签名

go
func (c *Composer) SelfUpdate() error

参数

该方法无参数。

返回值

返回值类型说明
唯一返回值error升级过程中发生错误时返回

示例

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.SelfUpdate(); err != nil {
		log.Fatalf("更新 Composer 失败: %v", err)
	}

	version, _ := comp.GetVersion()
	fmt.Printf("Composer 已更新到最新版本: %s\n", version)
}

进阶

  • 需要带进度回调的升级体验可用 SelfUpdateWithProgress()(位于 auto_install.go)。
  • 升级前后对比版本号可结合 GetVersionGetVersionInfo
  • 若需回滚或指定版本,请直接通过 Run 传递 self-update --rollback 等参数。

基于 MIT 许可证发布