【问题标题】:Which platforms should I compile to via 'go build'? [closed]我应该通过“go build”编译到哪些平台? [关闭]
【发布时间】:2020-03-02 22:11:01
【问题描述】:

我有这个 go builder 支持的平台列表:

    "darwin/386",
    "darwin/amd64",
    "dragonfly/amd64",
    "freebsd/386",
    "freebsd/amd64",
    "freebsd/arm",
    "linux/386",
    "linux/amd64",
    "linux/arm",
    "linux/arm64",
    "linux/ppc64",
    "linux/ppc64le",
    "linux/mips",
    "linux/mipsle",
    "linux/mips64",
    "linux/mips64le",
    "linux/s390x",
    "nacl/386",
    "nacl/amd64p32",
    "nacl/arm",
    "netbsd/386",
    "netbsd/amd64",
    "netbsd/arm",
    "openbsd/386",
    "openbsd/amd64",
    "openbsd/arm",
    "plan9/386",
    "plan9/amd64",
    "plan9/arm",
    "solaris/amd64",
    "windows/386",
    "windows/amd64",

我正在编写一个脚本来交叉编译我的项目。我首先将它们全部包含在内,但现在我在我的项目中添加了更多代码,但我无法为 Plan9 编译它。我查看了Plan9,发现它真的很旧,不再使用了。所以我的问题是,哪些平台被实际使用并且值得编译?

【问题讨论】:

  • 只有你才能为你回答“什么值得”。
  • 需要为哪个编译。社区无法为您回答这个问题。
  • @Adrian:就是这样。我可以为每个平台构建它,但我问的是社区实际使用的是什么?有人在 Plan9 上托管服务器吗?我必须包括那个吗?我支持的大多数 Linux 发行版是什么?但我明白你的意思,这个问题可能没有“答案”。
  • “社区”没有同质的需求。为您的目标用户群需要的平台构建,而不是 StackOverflow 碰巧构建任意项目的平台。这个问题没有合理的社区答案。
  • “有人在 Plan9 上托管服务器吗?” -- 显然有人使用Plan 9,否则没有人会移植Go。 “我必须包括那个吗?” ——你不必做任何事情。 “我支持的大多数 Linux 发行版是什么?” -- Linux 发行版根本不适合这个问题。为一个发行版编译,它适用于所有其他发行版。

标签: go build operating-system cross-compiling cpu-architecture


【解决方案1】:

要列出所有支持的平台(GOOS/GOARCH 组合),请使用以下命令:

go tool dist list

将此列表作为您想要/必须构建的平台的超集,并过滤掉您不需要的平台(例如 android)。不要尝试构建到未包含在此列表中的平台,它会失败。

对我来说(Go 1.13.3 linux/amd64)它输出:

aix/ppc64
android/386
android/amd64
android/arm
android/arm64
darwin/386
darwin/amd64
darwin/arm
darwin/arm64
dragonfly/amd64
freebsd/386
freebsd/amd64
freebsd/arm
illumos/amd64
js/wasm
linux/386
linux/amd64
linux/arm
linux/arm64
linux/mips
linux/mips64
linux/mips64le
linux/mipsle
linux/ppc64
linux/ppc64le
linux/s390x
nacl/386
nacl/amd64p32
nacl/arm
netbsd/386
netbsd/amd64
netbsd/arm
netbsd/arm64
openbsd/386
openbsd/amd64
openbsd/arm
openbsd/arm64
plan9/386
plan9/amd64
plan9/arm
solaris/amd64
windows/386
windows/amd64
windows/arm

【讨论】:

    猜你喜欢
    • 2019-02-01
    • 2012-07-15
    • 2021-11-26
    • 2012-09-23
    • 2010-09-21
    • 2013-01-28
    • 2020-07-25
    • 1970-01-01
    • 2014-10-11
    相关资源
    最近更新 更多