✅ SetPreferStable
Sets the project's prefer-stable option so that Composer prefers stable versions of packages when resolving dependencies. Equivalent to running composer config prefer-stable <0|1>.
When to use
Use this when you have relaxed minimum-stability (e.g. allowing beta) but still want Composer to prefer stable versions when available. Once set, Composer will pick stable versions as much as possible while satisfying constraints.
Signature
go
func (c *Composer) SetPreferStable(preferStable bool) errorParameters
| Parameter | Type | Description |
|---|---|---|
preferStable | bool | true means prefer stable versions, false means no strong preference |
Return value
error: returns the corresponding error message when an error occurs while setting prefer-stable; nil on success.
Example
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("init failed: %v", err)
}
// Prefer stable versions
if err := comp.SetPreferStable(true); err != nil {
log.Fatalf("set prefer-stable failed: %v", err)
}
fmt.Println("prefer-stable set to true")
}Advanced
- To read the current
prefer-stableconfig, useGetPreferStable()(returns the string"0"or"1"). - Commonly paired with
SetMinimumStability: relax the stability level while keeping a preference for stable versions. - Under the hood, the
boolis converted to"0"/"1"andcomposer config prefer-stableis executed.