Skip to content

⬆️ OutdatedPackages

显示项目中所有过时的包及可用更新,等价于 composer outdated

何时使用

  • 🔄 定期检查依赖是否有新版本可升级。
  • 📈 在 CI 中监控技术债,输出过时包报告。
  • 🔒 升级前评估影响范围。

签名

go
func (c *Composer) OutdatedPackages() (string, error)

参数

无。

返回值

类型说明
输出string过时包列表的文本输出
错误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)
    }

    output, err := comp.OutdatedPackages()
    if err != nil {
        log.Fatalf("获取过时包列表失败: %v", err)
    }
    fmt.Println("过时的包:", output)
}

进阶

结构化结果

需要程序化处理时改用 GetOutdatedInfo,它执行 composer outdated --format=json 并解析为 *OutdatedResult,含每个包的 Installed/Latest/LatestStatus

收窄范围

  • OutdatedPackagesDirect():只看 composer.json 中直接声明的依赖。
  • ShowOutdatedWithFormat(format):指定输出格式(如 json)。
  • OutdatedWithOptions(options) / OutdatedWithFormat(format):更灵活的变体。

🔍 相关方法

基于 MIT 许可证发布