🚀 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)。 - 升级前后对比版本号可结合 GetVersion 或 GetVersionInfo。
- 若需回滚或指定版本,请直接通过 Run 传递
self-update --rollback等参数。