🎯 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。✅