Go 语言的一个版本报错

2022-12-07 09:05:15 浏览数 (1)

前段时间在忙结婚的事情,忙完之后紧接着就是国庆假期,7天的假期很快就结束了。这两天朋友圈有好几张蔡国庆老师的照片,还挺好玩的:

这个周有7天班,慢慢上,慢慢过吧,越着急越慢,耐着性子慢慢磨,每天总结总结有什么收获,这样反而会过得快一点。

好久不写公众号了,今天拿起键盘,竟然不知道该写点什么,就简单写一个之前遇到的Go语言的案例吧。

问题场景:

使用Goland编译Go语言代码的时候,发现有如下报错:could not launch process: can not run under Rosetta, check that the installed build of Go is right for your CPU architecture.

报错原因:

看这个报错内容,似乎是CPU架构的问题。

将Goland切换到调试模式,发现报错内容变成:

Debugging programs compiled with go version go1.18 darwin/amd64 is not supported. Use go sdk for darwin/arm64.

这里可以看到,报错已经提示了go的版本应该用arm64的,而不应该是amd64的。

本质的原因:

Mac机器上的Goland安装包类型和Golang的CPU架构不一致,导致报错。

解决方案:

翻了翻谷歌,有人遇到了跟我一样的问题:

https://stackoverflow.com/questions/69343900/cannot-run-debug-go-using-vscode-on-mac-m1

结论:

Apple M1 Pro 芯片是arm架构的,将本机的 go 环境更换为 darwin-arm64 架构的即可解决问题。

解决方案是下载对应arm64架构的Golang安装包即可,于是我登录Golang官网 https://go.dev/dl/ ,发现确实有不同的版本:

下载arm64架构的golang语言安装包即可。

0 人点赞