有很多问题都具有相同的标题,但是,我检查了二进制版本和操作系统版本。两者都是相同的,因此在这里提出这个问题。
我在 Google 云(ubuntu 16.04 LTS)上创建了一个虚拟机,并尝试使用二进制文件安装 geth,但遇到了错误。
-bash: ./geth: cannot execute binary file: Exec format error
文件版本
> file geth
geth: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=4b7c90f77d16087e2d4d36072864ba7585659fba, not stripped
操作系统版本
> dpkg --print-architecture
amd64
我已遵循的步骤
sudo tar -xvf <geth_tar_file>
sudo chmod +x geth
./geth version
所以,我的问题是,导致这个错误的原因是什么以及如何解决它?
答案1
file geth
说 geth 适用于“ARM aarch64”,但您使用的是 AMD64 / x86-64 系统。
您必须找到适用于 AMD64 / x86-64 的 geth 包。