Skip to content

🔧 EnsureInstalled

确保 Composer 已安装,如果未安装且开启了 AutoInstall,则自动安装并重新检测。

何时使用

在程序启动时调用,保证后续命令一定有可用的 Composer。它是"懒加载"式的初始化,比构造时自动安装更灵活,适合延迟初始化场景。

签名

go
func (c *Composer) EnsureInstalled() error

参数

该方法无参数。

返回值

返回值类型说明
唯一返回值error已安装返回 nil;未安装且 AutoInstall 关闭或安装失败时返回错误

示例

go
package main

import (
	"fmt"
	"log"

	"github.com/scagogogo/composer-skills/pkg/composer"
)

func main() {
	options := composer.DefaultOptions()
	options.AutoInstall = true
	comp, err := composer.New(options)
	if err != nil {
		log.Fatalf("初始化失败: %v", err)
	}

	if err := comp.EnsureInstalled(); err != nil {
		log.Fatalf("确保安装失败: %v", err)
	}
	fmt.Println("Composer 已就绪 ✅")
}

进阶

  • 需要安装进度回调使用 EnsureInstalledWithProgress
  • 一步完成检测+安装+初始化使用 QuickSetup
  • 仅判断是否已安装(不触发安装)使用 IsInstalled

基于 MIT 许可证发布