苹果M1芯片设备下VSCode的Go调试器无法正常使用问题
报错原因与解决方案
首先给出报错信息的完整翻译:
报错原文:Failed to launch: could not launch process: can not run under Rosetta, check that the installed build of Go is right for your CPU architecture
中文翻译:启动失败:无法启动进程:不能在Rosetta转译环境下运行,请检查你安装的Go版本是否匹配当前CPU架构
报错根本原因
该错误仅出现在搭载Apple Silicon(M系列)芯片的Mac设备上:你当前安装的Go是适配Intel芯片的x86_64架构版本,日常运行代码时可通过Rosetta2转译正常执行,但Go调试组件Delve(dlv)的x86版本无法在Rosetta环境下正常拉起调试进程,因此会触发上述报错。
修复步骤
- 确认当前设备CPU架构
终端执行uname -m,Apple Silicon设备会输出arm64,Intel芯片设备会输出x86_64 - 卸载当前安装的x86架构Go
如果你是手动安装的Go,执行以下命令移除:
如果你通过Homebrew安装,直接执行sudo rm -rf /usr/local/go sudo rm /etc/paths.d/gobrew uninstall go即可 - 安装适配arm64架构的Go版本
手动安装可选择后缀为darwin-arm64.pkg的官方安装包,通过Homebrew安装的用户直接在原生arm64终端下执行brew install go,会自动匹配对应架构的版本 - 验证Go架构匹配
终端执行go version,输出内容包含darwin/arm64即代表安装正确 - 更新VSCode Go扩展依赖
重启VSCode后按下Command+Shift+P,搜索并执行Go: Install/Update Tools,全选所有工具完成安装,重启后即可正常调试
内容的提问来源于stack exchange,提问作者TrystanHumann
相关产品推荐
相关产品推荐

