Skip to content

🔍 UpdateDryRun

模拟执行依赖更新,不真正改动任何文件,仅输出将要发生的版本变化。

何时使用

当你想在升级依赖前预览哪些包会被更新、是否引入破坏性变更、或验证约束是否冲突时使用。相当于执行 composer update --dry-run [packages...]

签名

go
func (c *Composer) UpdateDryRun(packages []string) (string, error)

参数

参数类型说明
packages[]string要模拟更新的包名列表;传空切片表示模拟更新所有包

返回值

  • string:模拟更新的输出结果,包含将升级/降级的包及版本。
  • error:模拟过程中发生错误时返回相应错误信息,成功时为 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)
	}

	// 模拟更新指定包,先看结果再决定是否真正升级
	output, err := comp.UpdateDryRun([]string{"symfony/console"})
	if err != nil {
		log.Fatalf("模拟更新失败: %v", err)
	}

	fmt.Println("模拟更新输出:")
	fmt.Println(output)
}

进阶

基于 MIT 许可证发布