【问题标题】:Error with go cross-compilation: unsupported GOOS/GOARCH pair linux /amd64go 交叉编译出错:不支持的 GOOS/GOARCH 对 linux /amd64
【发布时间】:2018-01-15 21:35:52
【问题描述】:

我正在尝试在 windows 上交叉编译 go 代码,目标是 linux 机器。 我已经使用简单的 go 代码来确定目标操作系统/平台,

package main

import "fmt"
import "runtime"

func main() {
        fmt.Printf("OS: %s\nArchitecture: %s\n", runtime.GOOS, runtime.GOARCH)
}

运行上面的代码给了我

OS: linux
Architecture: amd64

当我尝试在 Windows(使用 JetBrain 的 Goland IDE)上交叉编译时悬停

> go version
go version go1.9.2 windows/amd64

使用GOOS=linux ;GOARCH=amd64 环境标志,我得到以下错误

cmd/go: unsupported GOOS/GOARCH pair linux /amd64

我是 golang 的新手,所以我可能遗漏了一些简单的东西,但是这个错误让我卡住了。任何帮助表示赞赏...

【问题讨论】:

  • 去掉linux后面多余的空格。

标签: go cross-compiling


【解决方案1】:

您的 GOOS 似乎设置为“linux”,而不是“linux”。

【讨论】:

  • 就是这样。谢谢@hobbs,多一双眼睛可以节省一天的时间!
  • 我遇到了同样的问题,但我将它设置为 go env -w 并留有一个空白空间,但当我尝试更新它时,它变得混乱了。它不允许我使用命令。有没有办法手动解决这个问题?
  • 我在 Makefile 的 export GOOS=linux 行后面附加了一个空格。不管这个错误看起来多么愚蠢,如果我没有找到这篇文章,我可能会浪费很多时间......
猜你喜欢
  • 2023-01-03
  • 2011-05-07
  • 1970-01-01
  • 1970-01-01
  • 2017-06-26
  • 2014-01-03
  • 2022-06-17
  • 1970-01-01
  • 2020-12-15
相关资源
最近更新 更多