我运行的命令:go build -o main
输出:
/usr/local/go/pkg/tool/darwin_arm64/link: /usr/local/go/pkg/tool/darwin_arm64/link: 合并dwarf失败:未知的load命令0x80000034(2147483700)
go版本:go version go1.16.4 darwin/arm64
请查看问题编号为#47269。
加载命令0x80000034对应于LC_DYLD_CHAINED_FIXUPS。支持这个加载命令的功能在https://go-review.googlesource.com/c/go/+/312729中添加,并且是Go 1.17版的一部分。
您应该升级到Go 1.17或更高版本。
如@blackgreen所述,可以通过升级到Go 1.17来解决问题。
但是,如果不想升级到Go 1.17,也可以尝试安装AMD版本的Go 1.16并再次运行。这在我的MAC M1上有效。
CGO_ENABLED=0 go build -o main
,它应该可以在Go 1.16中构建。如果您正在使用 Mac M1 芯片,且想要使用 1.16 版本,也可以尝试安装适用于 amd 的 go 1.16 版本。在我的机器上已经测试过并且运行正常。