Skip to content

🖥️ GetSystemInfo

收集并返回当前系统环境信息,用于诊断安装问题。

何时使用

当安装失败、需要排查环境依赖(PHP、包管理器、Homebrew、curl 是否就绪)时使用。📊

签名

go
func GetSystemInfo() map[string]string

参数

参数类型说明
包级函数,无参数

返回值

  • map[string]string:系统信息键值对。✅

可能包含的键:php_availablephp_versioncomposer_availablecomposer_pathcomposer_versiondistro_iddistro_namedistro_versionpackage_managerbrew_availablecurl_available

示例

go
package main

import (
	"fmt"

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

func main() {
	info := installer.GetSystemInfo()
	for k, v := range info {
		fmt.Printf("%s = %s\n", k, v)
	}
}

进阶

  • 该方法汇聚了 HasPHPGetPHPVersionIsComposerInstalledDetectLinuxDistro 等多个检测能力。🔗
  • 在 Linux 外的系统上,发行版相关字段会缺失;brew_available 主要对 macOS 有意义。🐧
  • 非常适合在 bug 报告或安装日志中一并列出。📝

基于 MIT 许可证发布