几天前,我将 macOS 从 Catalina 更新到了 Monterey 12.2,并且无法再从命令行(使用 zsh)访问 Heroku。通常,heroku login从终端运行将在 Web 浏览器中打开 Heroku,登录后,我可以从 CLI 运行后续的 Heroku 命令。
这是我收到的输入和错误消息:
% heroku login
fatal error: runtime: bsdthread_register error
runtime stack:
runtime.throw(0x2d5619, 0x21)
/usr/local/go/src/runtime/panic.go:566 +0x95 fp=0x7ff7bfeff6d0 sp=0x7ff7bfeff6b0
runtime.goenvs()
/usr/local/go/src/runtime/os_darwin.go:88 +0xa0 fp=0x7ff7bfeff700 sp=0x7ff7bfeff6d0
runtime.schedinit()
/usr/local/go/src/runtime/proc.go:450 +0x9c fp=0x7ff7bfeff740 sp=0x7ff7bfeff700
runtime.rt0_go(0x7ff7bfeff778, 0x2, 0x7ff7bfeff778, 0x0, 0x1000, 0x2, 0x7ff7bfeff948, 0x7ff7bfeff978, 0x0, 0x7ff7bfeff97e, ...)
/usr/local/go/src/runtime/asm_amd64.s:145 +0x14f fp=0x7ff7bfeff748 sp=0x7ff7bfeff740
Run Code Online (Sandbox Code Playgroud)
第一次在线搜索这个错误时,我似乎需要更新 Go,所以我下载了最新版本,并将其添加到我的路径中,如下所示:
% mkdir $HOME/go
% cd $HOME/go
% mkdir bin pkg src
Run Code Online (Sandbox Code Playgroud)
并将以下行添加到我的 .zshrc 文件中:
export GOPATH=$HOME/go
PATH=$PATH:$GOPATH/bin …Run Code Online (Sandbox Code Playgroud)