Go编译到linux运行出现 cannot execute binary file
报错解释:
这个错误表明你尝试在一个非目标架构的系统上运行编译后的Go程序。例如,你可能在一个x86\_64架构的系统上编译了一个为ARM架构设计的Go程序。
解决方法:
- 确认你的目标系统架构(使用
uname -m
命令查看)。 - 在相同架构的机器上重新编译你的Go程序。如果你使用的是虚拟机或Docker容器,请确保它的架构设置正确。
- 如果你使用Cross Compiling,确保你的编译指令包含正确的目标架构标志,例如
GOOS
和GOARCH
。 - 如果你是通过SSH或其他远程方式传输文件,请确保使用的是正确的文件传输模式(如二进制模式)。
例如,如果你的目标系统是ARM架构,确保你在编译时使用的是正确的目标标签:
GOOS=linux GOARCH=arm go build -o yourapp
然后,将编译好的yourapp
传输到你的ARM系统,并在那里运行它。如果你的程序是针对x86\_64架构编译的,那么你需要在x86\_64架构的机器上重新编译。
评论已关闭