Skip to content

🛠️ UpdateWithOptions

使用自定义选项映射更新项目依赖,是 Update 的灵活变体。

何时使用

UpdatenoDev 参数不足以满足需求,需要组合 --prefer-dist--with-dependencies--no-progress--dry-run 等多个 Composer 原生选项时使用。

签名

go
func (c *Composer) UpdateWithOptions(packages []string, options map[string]string) error

参数

参数类型说明
packages[]string要更新的包名列表;传空切片表示更新所有包
optionsmap[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)
	}

	options := map[string]string{
		"no-dev":            "",
		"prefer-dist":       "",
		"with-dependencies": "",
		"no-progress":       "",
	}
	if err := comp.UpdateWithOptions([]string{"symfony/console"}, options); err != nil {
		log.Fatalf("更新依赖失败: %v", err)
	}

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

进阶

基于 MIT 许可证发布