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

Try*_*ann 7 go visual-studio-code vscode-debugger apple-m1

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

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

小智 21

我在升级到 Apple M1 后也遇到了这个问题。诊断问题的根本原因有几个步骤。首先是检查您安装的 Go 版本。

> go version
go version go1.17.2 darwin/arm64
Run Code Online (Sandbox Code Playgroud)

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

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

安装完成后,需要验证两个环境变量:

在终端中:

> echo $GOOS 
darwin
Run Code Online (Sandbox Code Playgroud)
> echo $GOARCH
arm64
Run Code Online (Sandbox Code Playgroud)

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

export GOOS=darwin
export GOARCH=arm64
Run Code Online (Sandbox Code Playgroud)

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

cmd + shift + p
Go: Install/Update Tools
Run Code Online (Sandbox Code Playgroud)

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

  • 谢谢,这对我有用。安装/更新工具是关键。我卸载并重新安装了扩展程序,但这没有帮助。安装/更新工具使其正常工作 (2认同)

Sar*_*oon 10

对在 Go 中看不到“dlv”的人的附加回答:安装/更新工具

有2个解决方案

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

  2. 尝试使用手动更新

    去安装-v github.com/go-delve/delve/cmd/dlv@latest

希望这对你们有帮助:)