【问题标题】:GO VSCode debugger not working on Apple with M1 ChipGO VSCode 调试器无法在带有 M1 芯片的 Apple 上运行
【发布时间】:2021-10-15 19:22:46
【问题描述】:

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

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

【问题讨论】:

    标签: go visual-studio-code vscode-debugger apple-m1


    【解决方案1】:

    在升级到带有 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:安装/更新工具:

    cmd + shift + p
    Go: Install/Update Tools
    

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

    【讨论】:

    • 谢谢,这对我有用。安装/更新工具是关键。我卸载并重新安装了扩展程序,但没有帮助。安装/更新工具使其工作
    • 我在 go1.17.5 darwin/arm64 上仍然遇到同样的问题,即使变量仍然设置。有没有办法解决这个问题?
    【解决方案2】:

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

    有两种解决方案

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

    2. 尝试使用手动更新它

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

    希望这对你们有帮助:)

    【讨论】:

      猜你喜欢
      • 2022-08-16
      • 1970-01-01
      • 2022-07-19
      • 1970-01-01
      • 2021-05-11
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      • 2021-09-01
      相关资源
      最近更新 更多