从以下存储库中运行以下命令时,我遇到"Cannot Execute Binary FILE:EXEC Format Error"(无法执行二进制文件:EXEC格式错误):

Go mod下载githorb.com/cih-Y2K/weploy-goosocketio

https://github.com/kuoyaoming93/guardian-mainnet-guide/blob/master/docs/COMPILE_ARM64.md#install-guardian-node-from-source-code

删除并重新下载必要的目录,这不是解决方案.

这是否意味着我需要下载另一种语言才能执行此文件?

谢谢!

推荐答案

我的建议是遵循前面提到的所有步骤在arm64中使用theta,否则您可能会使用来自另一个Arch(如amd64)的二进制代码.

我在我的树莓里快速判断了一下,没有报告任何问题,因为go.mod文件已经被替换了.有一个新的,有正确的分支.

最后,cannot execute binary file: Exec format error表示您使用的二进制文件与当前主机体系 struct 不匹配,在本例中为arm64.

 pi@raspberrypi  ~/go/src/github.com/thetatoken/theta   release  sed 's/v0.0.0-20200107021104-147ed25f233e/v0.0.0-20220216073600-600054663ec1/' go.mod > aux_file
 pi@raspberrypi  ~/go/src/github.com/thetatoken/theta   release 
 pi@raspberrypi  ~/go/src/github.com/thetatoken/theta   release  sed 's/github.com\/wedeploy\/gosocketio v0.0.7-beta/github.com\/cih-y2k\/wedeploy-gosocketio v0.0.8/' aux_file > aux_file2
 pi@raspberrypi  ~/go/src/github.com/thetatoken/theta   release 
 pi@raspberrypi  ~/go/src/github.com/thetatoken/theta   release  rm go.mod
 pi@raspberrypi  ~/go/src/github.com/thetatoken/theta   release ±  cp aux_file2 go.mod
 pi@raspberrypi  ~/go/src/github.com/thetatoken/theta   release ±  rm aux_file aux_file2
 pi@raspberrypi  ~/go/src/github.com/thetatoken/theta   release ±  go mod download github.com/cih-y2k/wedeploy-gosocketio
 pi@raspberrypi  ~/go/src/github.com/thetatoken/theta   release ± 

由于Raspberry是基于Linux的,因此您可以使用以下命令来验证该ARCH:

pi@raspberrypi  ~  arch ; uname -m
armv6l
armv6l

Go Env也是你应该做的判断:

pi@raspberrypi  ~  go env | grep -i ARCH
GOARCH="arm"
GOHOSTARCH="arm"

Go相关问答推荐

如何执行asn 1 marshal/unmarshal和omit字段?

我可以在Golang中的另一个类型参数的基础上约束一个类型的参数吗?

如果第一次匹配条件,如何跳过切片中的值

Golang telegram 机器人

在多个 struct 体中重用 Go 中的函数

从 ApiGateway 中的 lambda Go 返回 Json

为什么 mux.Vars() 返回空的 map[]

我应该先解锁然后再广播吗?

在golang二进制中嵌入SvelteKit

如何在时间范围内规范化数组的元素?

Golang 构建多平台问题

Gorm 在保存/创建时序列化 struct

使用反射在 struct 内迭代切片 struct

转到文本/模板模板:如何根据模板本身的值数组判断值?

如何获取多个 url 参数值

有没有办法在一个 goroutine 返回后延迟后取消上下文?

GOENV 只能使用 OS 环境设置

处理程序中的无限循环

Golang LinkedList 删除第一个元素

如何在 Prometheus 中正确检测区域和环境信息?