Skip to content

✅ SetPreferStable

设置项目的 prefer-stable 选项,让 Composer 在解析依赖时优先选择稳定版本的包,等价于执行 composer config prefer-stable <0|1>

何时使用

当你放宽了 minimum-stability(例如允许 beta)但仍希望 Composer 在有稳定版本可用时优先选稳定版时使用。设置后,Composer 会在满足约束的前提下尽量挑选稳定版本。

签名

go
func (c *Composer) SetPreferStable(preferStable bool) error

参数

参数类型说明
preferStablebooltrue 表示优先使用稳定版本,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

基于 MIT 许可证发布