You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地执行任意gh cli命令触发段错误/goroutine报错的原因

gh CLI 执行任意命令均触发空指针 panic 报错

本地运行任何gh CLI命令都会直接崩溃,抛出panic: runtime error: invalid memory address or nil pointer dereference和signal SIGSEGV: segmentation violation错误。已尝试卸载重装gh CLI,甚至移除机器上所有Node.js和npm环境,问题仍未解决。

报错详情

执行gh auth login时的报错:

(base) yamini@Yaminis-MacBook-Pro local % gh auth login
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x1031c6580]

goroutine 1 [running]:
github.com/cli/go-gh/pkg/config.(*Config).Get(0x1038a3548?, {0x140007bfbd8?, 0x30?, 0x10488aea0?})
    github.com/cli/go-gh@v0.1.1-0.20220817122932-3630ab390fe7/pkg/config/config.go:46 +0x30
github.com/cli/go-gh/pkg/browser.resolveLauncher()
    github.com/cli/go-gh@v0.1.1-0.20220817122932-3630ab390fe7/pkg/browser/browser.go:75 +0x6c
github.com/cli/go-gh/pkg/browser.New(...)
    github.com/cli/go-gh@v0.1.1-0.20220817122932-3630ab390fe7/pkg/browser/browser.go:32
github.com/cli/cli/v2/internal/browser.New({0x0, 0x0}, {0x1049098a0, 0x14000010018}, {0x1049098a0, 0x14000010020})
    github.com/cli/cli/v2/internal/browser/browser.go:14 +0x58
github.com/cli/cli/v2/pkg/cmd/factory.newBrowser(0x140003bfdc0?)
    github.com/cli/cli/v2/pkg/cmd/factory/default.go:111 +0x50
github.com/cli/cli/v2/pkg/cmd/factory.New({0x10477ac48, 0x6})
    github.com/cli/cli/v2/pkg/cmd/factory/default.go:37 +0x238
main.mainRun()
    github.com/cli/cli/v2/cmd/gh/main.go:64 +0xec
main.main()
    github.com/cli/cli/v2/cmd/gh/main.go:48 +0x1c

执行gh repo create时的报错:

(base) yamini@Yaminis-MacBook-Pro local % gh repo create
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x1031fa580]

goroutine 1 [running]:
github.com/cli/go-gh/pkg/config.(*Config).Get(0x1038d7548?, {0x1400085fbd8?, 0x30?, 0x1048beea0?})
    github.com/cli/go-gh@v0.1.1-0.20220817122932-3630ab390fe7/pkg/config/config.go:46 +0x30
github.com/cli/go-gh/pkg/browser.resolveLauncher()
    github.com/cli/go-gh@v0.1.1-0.20220817122932-3630ab390fe7/pkg/browser/browser.go:75 +0x6c
github.com/cli/go-gh/pkg/browser.New(...)
    github.com/cli/go-gh@v0.1.1-0.20220817122932-3630ab390fe7/pkg/browser/browser.go:32
github.com/cli/cli/v2/internal/browser.New({0x0, 0x0}, {0x10493d8a0, 0x140001aa008}, {0x10493d8a0, 0x140001aa010})
    github.com/cli/cli/v2/internal/browser/browser.go:14 +0x58
github.com/cli/cli/v2/pkg/cmd/factory.newBrowser(0x140000fdce0?)
    github.com/cli/cli/v2/pkg/cmd/factory/default.go:111 +0x50
github.com/cli/cli/v2/pkg/cmd/factory.New({0x1047aec48, 0x6})
    github.com/cli/cli/v2/pkg/cmd/factory/default.go:37 +0x238
main.mainRun()
    github.com/cli/cli/v2/cmd/gh/main.go:64 +0xec
main.main()
    github.com/cli/cli/v2/cmd/gh/main.go:48 +0x1c

其他gh CLI命令也会触发相同报错:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x100622580]

goroutine 1 [running]:
github.com/cli/go-gh/pkg/config.(*Config).Get(0x100cff548?, {0x140007dfbd8?, 0x30?, 0x101ce6ea0?})
    github.com/cli/go-gh@v0.1.1-0.20220817122932-3630ab390fe7/pkg/config/config.go:46 +0x30
github.com/cli/go-gh/pkg/browser.resolveLauncher()
    github.com/cli/go-gh@v0.1.1-0.20220817122932-3630ab390fe7/pkg/browser/browser.go:75 +0x6c
github.com/cli/go-gh/pkg/browser.New(...)
    github.com/cli/go-gh@v0.1.1-0.20220817122932-3630ab390fe7/pkg/browser/browser.go:32
github.com/cli/cli/v2/internal/browser.New({0x0, 0x0}, {0x101d658a0, 0x140001aa008}, {0x101d658a0, 0x140001aa010})
    github.com/cli/cli/v2/internal/browser/browser.go:14 +0x58
github.com/cli/cli/v2/pkg/cmd/factory.newBrowser(0x140000f7ce0?)
    github.com/cli/cli/v2/pkg/cmd/factory/default.go:111 +0x50
github.com/cli/cli/v2/pkg/cmd/factory.New({0x101bd6c48, 0x6})
    github.com/cli/cli/v2/pkg/cmd/factory/default.go:37 +0x238
main.mainRun()
    github.com/cli/cli/v2/cmd/gh/main.go:64 +0xec
main.main()
    github.com/cli/cli/v2/cmd/gh/main.go:48 +0x1c

解决步骤

从报错栈分析,问题出在gh读取配置获取浏览器启动器时触发空指针,说明配置文件可能损坏、缺失或权限异常。

  • 彻底清理gh配置文件:
    1. Mac系统下gh配置目录为~/.config/gh/
    2. 执行命令删除整个配置目录:rm -rf ~/.config/gh/
  • 重新安装最新版gh CLI:
    • 用Homebrew:brew reinstall gh
    • 或从官方渠道下载对应安装包
  • 避免以root权限运行gh,确保当前用户对配置目录有读写权限
  • 若处于代理环境,检查是否有冲突的gh环境变量,比如执行unset GH_CONFIG_DIR后重试

内容的提问来源于stack exchange,提问作者yva2002

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 15:54:55