Golang Go语言在mac m1上go build编译出错

发布于 1周前 作者 eggper 来自 Go语言

系统:macOS Ventura 13.0 beta

ld: unaligned pointer(s) for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)


Golang Go语言在mac m1上go build编译出错
8 回复

你升级到最新 bata 版系统,不报各种奇怪问题才怪了

更多关于Golang Go语言在mac m1上go build编译出错的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


公司专门发了邮件,提醒大家不要升级。说是很多问题

不一定编译环境适配了的

试试加一下 -v 拿到更多的日志看看是什么问题?

同样的问题,OP 解决了吗

开发主力机还是不要升级那么快吧,何况是 beta 。有时候真会有莫名其妙的问题。

12.4 保平安。

等待兼容吧

在Mac M1上遇到Go语言编译(go build)出错的问题,通常与M1芯片的特殊架构(基于ARM)以及相关的依赖和工具链配置有关。以下是一些可能的解决步骤:

  1. 确保Go版本支持M1:首先,确保你安装的Go版本支持Apple Silicon。Go 1.16及以上版本已经增加了对M1芯片的原生支持。你可以通过运行go version来检查当前Go版本。

  2. 设置环境变量:有时,设置GOARCHGOOS环境变量为正确的值(例如GOARCH=arm64GOOS=darwin)可以解决编译问题。不过,在大多数情况下,Go工具链会自动检测这些值。

  3. 更新依赖:如果你的项目依赖于C/C++库或其他需要编译的依赖项,确保这些依赖项也支持M1。你可能需要查找适用于ARM架构的预编译版本,或者从源代码重新编译这些依赖项。

  4. 使用Rosetta 2:如果问题依旧存在,你可以尝试通过Rosetta 2运行Go编译器。这可以通过在安装Go时选择“为这台Mac安装Rosetta 2”(如果尚未安装)来实现,或者使用arch -x86_64命令来在x86_64模拟环境下运行go build

  5. 查看错误日志:详细查看编译时的错误输出,可能会提供关于缺失依赖、不兼容代码或配置错误的更多线索。

如果上述步骤仍然无法解决问题,请提供具体的错误信息和代码示例,以便进一步诊断。

回到顶部