Skip to content

🎯 EnsureComposerInstalled

确保 Composer 已安装;未安装则自动执行智能安装。

何时使用

当你的程序依赖 Composer 存在,但不想区分"检查"和"安装"两步时使用。这是最常见的引导入口。🚀

签名

go
func EnsureComposerInstalled(options *InstallOptions) (*InstallResult, error)

参数

参数类型说明
options*InstallOptions安装选项,传 nil 则使用 DefaultInstallOptions()

返回值

  • *InstallResult:若已安装,Method"already_installed";否则为安装结果。✅
  • error:安装失败时返回错误。⚠️

示例

go
package main

import (
	"fmt"
	"log"

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

func main() {
	result, err := installer.EnsureComposerInstalled(nil)
	if err != nil {
		log.Fatalf("确保 Composer 安装失败: %v", err)
	}
	fmt.Printf("Composer 已就绪: %s (版本 %s)\n", result.ComposerPath, result.Version)
}

进阶

  • 已安装时直接返回,不重复安装;未安装时转调 InstallWithProgress。🔄
  • 传入自定义 options 可启用进度回调、上下文取消等能力。🛠️
  • 若只想查询是否安装而不触发安装,用 IsComposerInstalled。✅

基于 MIT 许可证发布