Skip to content

📦 OutdatedPackagesDirect 仅显示直接依赖中过时的包

🔍 OutdatedPackagesDirect 只显示在 composer.json 中直接声明的依赖里过时的包,不包括间接依赖,相当于执行 composer outdated --direct,适合快速定位需更新的自有依赖。

📋 签名

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

📥 参数

参数类型说明
本方法不接收任何参数

📤 返回值

返回值类型说明
第一个返回值string过时直接依赖列表的文本输出
第二个返回值error获取过程中发生错误时返回,成功时为 nil

📝 示例

go
package main

import (
	"fmt"
	"log"

	"github.com/scagogogo/composer-skills/pkg/composer"
)

func main() {
	comp, err := composer.NewComposer()
	if err != nil {
		log.Fatalf("创建 Composer 实例失败: %v", err)
	}

	output, err := comp.OutdatedPackagesDirect()
	if err != nil {
		log.Fatalf("获取过时直接依赖失败: %v", err)
	}
	fmt.Println("过时的直接依赖:")
	fmt.Println(output)
}

🚀 进阶

  • 📋 若需查看包括间接依赖在内的全部过时包,使用 OutdatedPackages()
  • 🧪 如需以 json 格式输出便于程序解析,使用 ShowOutdatedWithFormat("json")OutdatedWithFormat(format)
  • ⚙️ 若需自定义组合选项(如 --direct + --minor-only),改用 OutdatedWithOptions(options map[string]string),传入 {"direct": "", "minor-only": ""}
  • 🔗 在依赖更新流水线中,先用本方法筛出直接依赖更新清单,再用 Update([]string{...}, false) 精准更新。

基于 MIT 许可证发布