Skip to content

📈 CheckForOutdatedPackages

检查项目中过时的依赖包并显示可用更新。等价于执行 composer outdated [--direct] [--minor-only] [--format <format>]

何时使用

需要在定时任务或仪表盘中汇报"有多少依赖可升级、最新版本是多少"时使用。通过参数可控制只看直接依赖、只看次要更新,以及输出格式。

签名

go
func (c *Composer) CheckForOutdatedPackages(direct bool, minor bool, format string) (string, error)

参数

参数类型说明
directbooltrue 只检查直接依赖,false 检查全部依赖
minorbooltrue 只显示次要版本更新(同主版本),false 显示全部
formatstring输出格式,如 "text""json";空字符串表示不传该参数

返回值

返回值类型说明
第一返回值string过时包列表(文本或 JSON)
第二返回值error执行失败时返回

示例

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

	// 检查直接依赖的次要更新,JSON 格式
	output, err := comp.CheckForOutdatedPackages(true, true, "json")
	if err != nil {
		log.Fatalf("检查过时包失败: %v", err)
	}
	fmt.Println(output)
}

进阶

  • 需要结构化结果(含包名、当前版本、最新版本)使用 GetOutdatedInfo()GetOutdatedInfoWithOptions(options),返回 *OutdatedResult
  • 仅文本输出可使用 OutdatedPackages()OutdatedPackagesDirect()
  • 自定义更多选项使用 OutdatedWithOptions(options)

基于 MIT 许可证发布