Skip to content

🛠️ Run

执行任意 Composer 命令并返回输出,是 SDK 的核心方法。默认使用 10 分钟超时。

何时使用

当 SDK 没有为某个 Composer 子命令提供专用封装时,直接用 Run 执行原始命令。它是对 composer 可执行文件的最薄封装,参数即命令行参数。

签名

go
func (c *Composer) Run(args ...string) (string, error)

参数

参数类型说明
args...string命令参数,第一个参数是 Composer 子命令,如 showrequire

返回值

返回值类型说明
第一返回值string命令的标准输出(含合并的 stderr)
第二返回值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)
	}

	// 执行 composer show
	output, err := comp.Run("show")
	if err != nil {
		log.Fatalf("执行命令失败: %v", err)
	}
	fmt.Println(output)

	// 执行带参数的命令
	_, err = comp.Run("require", "symfony/console", "--dev")
	if err != nil {
		log.Fatalf("安装包失败: %v", err)
	}
}

进阶

基于 MIT 许可证发布