Go语言 执行格式错误

xvw2m8pv  于 12个月前  发布在  Go
关注(0)|答案(3)|浏览(123)

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

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

我在谷歌上查了一下,我找到的一个更相关的结果说要删除这个软件包,然后重新安装一次。这并没有帮助。
你能告诉我是什么原因导致这个错误,我如何解决这个问题?
谢谢,祝你有个愉快的一天!

mm5n2pyu

mm5n2pyu1#

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

ryoqjall

ryoqjall2#

我从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) {

         })
})

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

jm81lzqq

jm81lzqq3#

这对我来说是一个诡计。

export GOARCH="amd64"

https://github.com/golang/go/issues/53116

相关问题