Skip to content

⚡ Update

将项目的依赖更新到 composer.json 约束允许的最新版本,可指定特定包或更新全部依赖。

何时使用

当你想获取依赖的新版本、修复 bug 或升级包时使用。注意 update 会改写 composer.lock,不同于按 lock 还原的 install。相当于执行 composer update [--no-dev] [packages...]

签名

go
func (c *Composer) Update(packages []string, noDev bool) error

参数

参数类型说明
packages[]string要更新的包名列表;传空切片 []string{} 表示更新所有包
noDevbooltrue 时不更新开发依赖

返回值

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)
	}

	// 更新全部依赖(含开发依赖)
	if err := comp.Update([]string{}, false); err != nil {
		log.Fatalf("更新依赖失败: %v", err)
	}

	// 只更新指定的包
	if err := comp.Update([]string{"symfony/console", "symfony/process"}, false); err != nil {
		log.Fatalf("更新指定包失败: %v", err)
	}

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

进阶

基于 MIT 许可证发布