⬆️ 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):更灵活的变体。
🔍 相关方法
GetOutdatedInfo:结构化过时包信息。BumpPackages:升级包到约束内最新版本。