🧭 GetEnvironmentInfo
获取 Composer 的全部配置项,返回键值对映射。等价于执行 composer config --list 并按行解析。
何时使用
需要查看当前生效的 Composer 配置(缓存目录、主目录、仓库、稳定性等)做诊断或日志记录时使用。
签名
go
func (c *Composer) GetEnvironmentInfo() (map[string]string, error)参数
该方法无参数。
返回值
| 返回值 | 类型 | 说明 |
|---|---|---|
| 第一返回值 | map[string]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)
}
info, err := comp.GetEnvironmentInfo()
if err != nil {
log.Fatalf("获取环境信息失败: %v", err)
}
for k, v := range info {
fmt.Printf("%s = %s\n", k, v)
}
}进阶
- 需要单个环境变量的值用更轻量的 GetEnvVariable。
- 设置环境变量用 SetEnvVariable。
- 想读取结构化的配置列表可参考
GetConfigStructured()(位于result_types.go)。