GO VSCode 调试器无法在带有 M1 芯片的 Apple 上运行

GO VSCode debugger not working on Apple with M1 Chip

我可以 运行 go 文件,但我无法在 vscode 中调试它们。

错误: “启动失败:无法启动进程:无法在 Rosetta 下 运行,检查安装的 Go 版本是否适合您的 CPU 架构”

我 运行 在升级到带有 M1 的 Apple 之后也对此感兴趣。诊断问题的根本原因有几个步骤。首先是检查您安装的 Go 版本。

> go version
go version go1.17.2 darwin/arm64

如果版本不是 darwin/arm64,那么您为带有 M1 芯片的 Mac 安装了错误的架构。这很容易做到,因为默认值为 darwin/amd64.

如果这是问题所在,请卸载当前版本的 go 并安装位于此处的 arm64 等效版本:https://golang.org/dl/

安装完成后,是时候验证两个环境变量了:

在终端中:

> echo $GOOS 
darwin
> echo $GOARCH
arm64

如果没有设置,请继续导出它们。我建议将它们添加到您的 .zshrc 或等效文件中。

export GOOS=darwin
export GOARCH=arm64

最后,在 VS Code 中,启动您的项目并输入命令栏以重新安装所有 Go:Install/Update 工具:

cmd + shift + p
Go: Install/Update Tools

这应该允许您 运行 并通过 VS Code 成功调试。

对在 Go 中看不到“dlv”的人的补充回答:Install/Update 工具

有 2 个解决方案

  1. 从 go/bin 中删除“dlv” -> 重新打开 VSCode -> 运行 调试器 -> 从 VSCode 通知中安装“dlv”

  2. 尝试使用

    手动更新

    go install -v github.com/go-delve/delve/cmd/dlv@latest

希望对大家有所帮助:)