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