🛠️ 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_PATH、COMPOSER_HOME的优先级仍高于此处设置的路径。🔒 - 设置空切片等同于清空候选路径(但环境变量与 which 兜底仍会生效)。