⚙️ LocalExec
执行本地包中安装的二进制文件(执行 composer exec)。
何时使用
需要在 Go 程序里调用 vendor/bin 下的工具(如 PHPUnit、PHPStan 等)并复用 Composer 解析的工作目录与环境时使用。
签名
go
func (c *Composer) LocalExec(command string, args ...string) (string, error)参数
| 参数 | 类型 | 说明 |
|---|---|---|
command | string | 要执行的本地二进制名称,例如 phpunit |
args | ...string | 透传给该二进制的参数 |
返回值
string:命令的标准输出文本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.Fatal(err)
}
// 执行 vendor/bin 下的 phpunit,附带 --version
output, err := comp.LocalExec("phpunit", "--version")
if err != nil {
log.Fatalf("执行失败: %v", err)
}
fmt.Println(output)
}进阶
- 该方法构造
composer exec <command> <args...>命令 - 若需附加选项(如
--分隔符或工作目录),使用LocalExecWithOptions(见 diagnosis.go) - 若要执行任意二进制而非本地包工具,参考
Exec系列(见 exec.go)