Skip to content

📋 ExecWithList

列出项目中所有可用的厂商二进制文件。等价于运行 composer exec --list 并解析输出。

何时使用

需要在程序中枚举 vendor/bin 下有哪些可调用工具,或为 ExecAll 提供候选列表时使用。

签名

go
func (c *Composer) ExecWithList() ([]string, error)

参数

该方法无参数。

返回值

返回值类型说明
第一返回值[]string可用二进制文件名列表
第二返回值error执行或解析失败时返回

解析规则

输出按行分割,去除空行及 Available binaries: 标题行后返回剩余条目。

示例

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)
	}

	binaries, err := comp.ExecWithList()
	if err != nil {
		log.Fatalf("列出二进制失败: %v", err)
	}

	fmt.Println("可用厂商二进制文件:")
	for _, b := range binaries {
		fmt.Println(" -", b)
	}
}

进阶

  • 拿到列表后可用 Exec 逐个执行,或用 ExecAll 一次执行全部。
  • 执行单个二进制参见 ExecExecPHP

基于 MIT 许可证发布