Skip to content

🔗 UpdateWithDependencies

使用 --with-dependencies 选项更新指定包及其依赖项,而不仅限直接指定的包。

何时使用

当你更新某个包后,其依赖也需要同步更新以兼容新版本时使用。相当于执行 composer update --with-dependencies [packages...]。注意 Composer 默认只更新直接传入的包,依赖包不会自动升级。

签名

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

参数

参数类型说明
packages[]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)
	}

	// 升级 symfony/console 及其依赖,确保整体兼容
	if err := comp.UpdateWithDependencies([]string{"symfony/console"}); err != nil {
		log.Fatalf("更新依赖失败: %v", err)
	}

	fmt.Println("依赖及子依赖更新完成")
}

进阶

  • 需要递归更新所有层级依赖时使用 UpdateWithAllDependencies--with-all-dependencies)。
  • 需要组合 --with-dependencies 与其他选项时使用 UpdateWithOptions
  • 仅更新直接指定包见 Update

基于 MIT 许可证发布