⚠️ GetAbandonedPackagesFromLock
从 composer.lock 文件中读取已废弃的包列表,不执行任何 Composer 命令。
何时使用
当你需要在离线环境下快速识别项目使用了哪些已被官方标记为废弃的包时使用。它直接解析 lock 文件中的 abandoned 标记,速度极快。
签名
go
func (c *Composer) GetAbandonedPackagesFromLock() ([]string, error)参数
该方法无参数。
返回值
| 返回值 | 类型 | 说明 |
|---|---|---|
| 第一返回值 | []string | 已废弃的包名列表,无废弃包时为空切片 |
| 第二返回值 | error | 读取或解析 composer.lock 失败时返回 |
示例
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)
}
abandoned, err := comp.GetAbandonedPackagesFromLock()
if err != nil {
log.Fatalf("读取 lock 失败: %v", err)
}
if len(abandoned) == 0 {
fmt.Println("没有废弃包 ✅")
} else {
fmt.Printf("发现 %d 个废弃包:\n", len(abandoned))
for _, name := range abandoned {
fmt.Println(" -", name)
}
}
}进阶
- 需要通过 Composer 命令(含废弃替代建议)获取废弃包使用 GetAbandonedPackages。
- 想读完整 lock 文件内容使用 ReadComposerLock。
- 该方法只读
packages与packages-dev两段,平台包不在范围内。