7

我最近在我的电脑上安装了 lubuntu 11.04。按照这个从源代码安装 go 的指南,在我的电脑上安装 golang 很顺利。为了测试我的安装,我运行了 hello.go 并得到了这个错误:

fork/exec /tmp/go-build748212890/command-line-arguments/_obj/a.out: exec format error

我在谷歌上查了一下,我发现的一个更相关的结果是删除包,然后重新安装。那没有帮助。

你能告诉我是什么导致了这个错误,我该如何解决这个问题?

感谢,并有一个愉快的一天!

4

2 回答 2

17

我遇到了这个问题 - 这很简单:我将 $GOOS 设置为我正在测试的操作系统以外的其他东西。你不能做跨平台测试。所以对于“go test”,不要设置 $GOOS。我很确定你得到的“执行格式错误”是 go test 试图在错误的架构/操作系统上执行某些东西的结果。

于 2017-05-23T22:53:20.707 回答
0

从 Goland 在 Windows 上收到此错误。问题是测试用例是嵌套的并且名称很长,这意味着生成的二进制文件的文件路径具有超长的名称。Windows 的最大文件路径限制为 260 个字符,并且二进制文件路径的总长度超过了该限制,因此出现了错误。例如

t.Run("Authentication Tests", func(t *testing.T) {
    t.Run("Given my conditions, when the function xyz is called, we expect this super 
           important result", func(t *testing.T) {

         })
})

解决方案是在测试用例名称中使用更少的单词

于 2021-05-13T15:23:52.107 回答