Skip to content

🛠️ SetPossiblePaths

替换检测器内部的 Composer 候选路径列表。

何时使用

当你完全清楚 Composer 应该出现在哪些路径(例如自定义安装目录、容器内固定路径),想绕过默认平台路径查找逻辑时使用。📦

签名

go
func (d *Detector) SetPossiblePaths(paths []string)

参数

参数类型说明
paths[]string新的候选路径列表,将完全覆盖默认路径

返回值

无返回值。

示例

go
package main

import (
	"fmt"
	"log"

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

func main() {
	d := detector.NewDetector()
	// 只在自定义路径中查找
	d.SetPossiblePaths([]string{
		"/data/composer/bin/composer",
		"/opt/composer/composer.phar",
	})
	path, err := d.Detect()
	if err != nil {
		log.Fatalf("未检测到: %v", err)
	}
	fmt.Printf("命中: %s\n", path)
}

进阶

  • 该方法是覆盖语义;如需在默认路径基础上追加,使用 AddPossiblePath。⚠️
  • 环境变量 COMPOSER_PATHCOMPOSER_HOME 的优先级仍高于此处设置的路径。🔒
  • 设置空切片等同于清空候选路径(但环境变量与 which 兜底仍会生效)。

基于 MIT 许可证发布