从以下存储库中运行以下命令时,我遇到"Cannot Execute Binary FILE:EXEC Format Error"(无法执行二进制文件:EXEC格式错误):
Go mod下载githorb.com/cih-Y2K/weploy-goosocketio
删除并重新下载必要的目录,这不是解决方案.
这是否意味着我需要下载另一种语言才能执行此文件?
谢谢!
从以下存储库中运行以下命令时,我遇到"Cannot Execute Binary FILE:EXEC Format Error"(无法执行二进制文件:EXEC格式错误):
Go mod下载githorb.com/cih-Y2K/weploy-goosocketio
删除并重新下载必要的目录,这不是解决方案.
这是否意味着我需要下载另一种语言才能执行此文件?
谢谢!
我的建议是遵循前面提到的所有步骤在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"