go - 我应该通过“go build”编译到哪些平台?
问题描述
我有这个 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,发现它真的很旧,不再使用了。所以我的问题是,哪些平台实际使用并且值得编译?
解决方案
要列出所有支持的平台(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
推荐阅读
- javascript - REDUX:错误:操作可能没有未定义的“类型”属性。你有没有拼错一个常数?
- vee-validate - 规则中的 Vee-Validate v3 服务器端验证
- r - 如何让 R 以分类而不是连续的方式读取数据(对于 S4 模型)
- c# - 如何在 C# 中修复文本框的高度
- r - 克服?排 ?或者 ?记忆 ?R studio 编译海量数据库的问题
- java - 无法在自定义适配器中修改 TextView
- drupal-8 - 社交身份验证 google 和简单身份验证 drupal 8
- vb.net - 计时器交错,仪表板更新事件被跳过 +
- jquery - jQuery - 为每个关联的数据属性添加活动状态
- sql - 在 Postgres 中获取一天中每一分钟的匹配时间范围计数