前段时间在忙结婚的事情,忙完之后紧接着就是国庆假期,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语言安装包即可。