✅ SetPreferStable
设置项目的 prefer-stable 选项,让 Composer 在解析依赖时优先选择稳定版本的包,等价于执行 composer config prefer-stable <0|1>。
何时使用
当你放宽了 minimum-stability(例如允许 beta)但仍希望 Composer 在有稳定版本可用时优先选稳定版时使用。设置后,Composer 会在满足约束的前提下尽量挑选稳定版本。
签名
go
func (c *Composer) SetPreferStable(preferStable bool) error参数
| 参数 | 类型 | 说明 |
|---|---|---|
preferStable | bool | true 表示优先使用稳定版本,false 表示不强制优先 |
返回值
error:设置 prefer-stable 过程中发生错误时返回相应错误信息,成功时为 nil。
示例
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)
}
// 优先使用稳定版本
if err := comp.SetPreferStable(true); err != nil {
log.Fatalf("设置 prefer-stable 失败: %v", err)
}
fmt.Println("prefer-stable 已设置为 true")
}进阶
- 想读取当前
prefer-stable配置,使用GetPreferStable()(返回"0"或"1"字符串)。 - 常与
SetMinimumStability配合:放宽稳定性级别的同时保持优先稳定。 - 底层将
bool转为"0"/"1"后执行composer config prefer-stable。