🖥️ GetSystemInfo
收集并返回当前系统环境信息,用于诊断安装问题。
何时使用
当安装失败、需要排查环境依赖(PHP、包管理器、Homebrew、curl 是否就绪)时使用。📊
签名
go
func GetSystemInfo() map[string]string参数
| 参数 | 类型 | 说明 |
|---|---|---|
| 无 | — | 包级函数,无参数 |
返回值
map[string]string:系统信息键值对。✅
可能包含的键:php_available、php_version、composer_available、composer_path、composer_version、distro_id、distro_name、distro_version、package_manager、brew_available、curl_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)
}
}进阶
- 该方法汇聚了
HasPHP、GetPHPVersion、IsComposerInstalled、DetectLinuxDistro等多个检测能力。🔗 - 在 Linux 外的系统上,发行版相关字段会缺失;
brew_available主要对 macOS 有意义。🐧 - 非常适合在 bug 报告或安装日志中一并列出。📝