🎯 GetDirectDependencyNames
获取直接依赖的包名列表,等价于执行 composer show --direct 并解析输出。
何时使用
当你只关心在 composer.json 中显式声明的依赖(排除间接依赖)时使用。常用于生成精简依赖报告、检查直接依赖是否过时等场景。
签名
go
func (c *Composer) GetDirectDependencyNames() ([]string, error)参数
该方法无参数。
返回值
| 返回值 | 类型 | 说明 |
|---|---|---|
| 第一返回值 | []string | 直接依赖的包名列表 |
| 第二返回值 | error | 执行 composer show --direct 失败时返回 |
示例
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)
}
direct, err := comp.GetDirectDependencyNames()
if err != nil {
log.Fatalf("获取直接依赖失败: %v", err)
}
fmt.Printf("共 %d 个直接依赖:\n", len(direct))
for _, name := range direct {
fmt.Println(" -", name)
}
}进阶
- 想获取全部已安装包(含间接依赖)使用 GetInstalledPackageNames。
- 一次性拿到直接依赖、开发依赖与已安装包的摘要使用 GetProjectDependencies。
- 读取
composer.json的原始require字段使用 ReadComposerJson。