问题描述
我正在尝试使用以下方法从 linux 编译:
GOOS=darwin GOARCH=386 CGO_ENABLED=0 go build .
但它抛出错误:
cmd/go: unsupported GOOS/GOARCH pair darwin/386
我到处找,但似乎应该支持 darwin/386
(编译 windows/386 和 linux/386 工作正常)
(编译 darwin/amd64 工作正常)
(我什至在 windows 上试过,但错误是一样的)
我错过了什么?
解决方法
正如 Go 1.14 发行说明中所宣布的那样,Go 1.15 不再支持 macOS、iOS、iPadOS、watchOS 和 tvOS(darwin/386 和 darwin/arm 端口)上的 32 位二进制文件。 Go 继续支持 64 位 darwin/amd64 和 darwin/arm64 端口。
如果需要,您可以使用 Go 1.14 编译为 darwin/386。最新的 OSX 版本不再运行任何 32 位程序(来自 Catalina)。这就是他们放弃支持的原因:Go 1.14 release notes 宣布了这一点。