📈 CheckForOutdatedPackages
检查项目中过时的依赖包并显示可用更新。等价于执行 composer outdated [--direct] [--minor-only] [--format <format>]。
何时使用
需要在定时任务或仪表盘中汇报"有多少依赖可升级、最新版本是多少"时使用。通过参数可控制只看直接依赖、只看次要更新,以及输出格式。
签名
go
func (c *Composer) CheckForOutdatedPackages(direct bool, minor bool, format string) (string, error)参数
| 参数 | 类型 | 说明 |
|---|---|---|
direct | bool | true 只检查直接依赖,false 检查全部依赖 |
minor | bool | true 只显示次要版本更新(同主版本),false 显示全部 |
format | string | 输出格式,如 "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)。