解决 bin/go: cannot execute binary file 问题

问题记录我是在linux 64 位系统安装 1.19.7 版本出现的问题

cd /usr/local/src
#安装go go1.19.7
wget https://golang.google.cn/dl/go1.19.7.linux-arm64.tar.gz
#解压到指定目录
tar -C /usr/local/go1.19.7 -xzvf go1.19.7.linux-arm64.tar.gz 

修改全局执行命令

vim ~/.bashrc
#增加一行go全局执行path
export PATH=$PATH:/usr/local/go1.19.7/go/bin
#保存后重新引入文件(不会生效重新打开一个新的命令号窗口就会生效)
source ~/.bashrc

问题出现了

go version
#go执行命令报错
-bash: /usr/local/go1.19.7/go/bin/go: cannot execute binary file

cannot execute binary file 百度翻译了下是 无法执行二进制文件

网上找了很久问题原因,可能是安装的go版本包 和 当前linux 不匹配导致的这咱也不懂那抹多,只能从安装的版本排查
在这里插入图片描述
当时安装的是下面的 ARM64 的包 上面还有个 x86-64 的包 可能是这里的问题

查了下相关的知识

在安装软件的时候,windows上会有 32bit和64bit 的区别,但是Linux系统下则还需要知道CPU架构

32 位系统 x86
64 位系统 x86-64

常见CPU架构
ARM架构:aarch64、arm64
X86架构:x86_64、x64、AMD64
MIPS架构:mips

那查看当前我用的linux 的cpu 架构是什么样的

[root@VM-16-13-centos src]# uname -a
Linux VM-16-13-centos 2.6.32-754.30.2.el6.x86_64 #1 SMP Wed Jun 10 11:14:37 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

[root@VM-16-13-centos src]# lscpu      
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 85
Model name:            Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz
Stepping:              5
CPU MHz:               2494.140
BogoMIPS:              4988.28
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
L3 cache:              36608K
NUMA node0 CPU(s):     0

uname -a 和 lscpu 命令查看我的系统是 x86_64,x86cpu系统架构,不是ARM架构,我装arm 的go包 导致出现的错误,的确自己的疏忽和计算机底层知识不足导致的问题,后面计划去找门课程补充下

cd /usr/local/src
#安装go go1.19.7 x86-64 系统的包
wget https://golang.google.cn/dl/go1.19.7.linux-amd64.tar.gz
#解压到指定目录
tar -C /usr/local/go1.19.7 -xzvf go1.19.7.linux-arm64.tar.gz 
#执行go命令,检测go1.19.7安装成功
[root@VM-16-13-centos src]# go version
go version go1.19.7 linux/amd64

参考资料

关于Linux软件下载时:amd64、i386、arm64、x86_64、aarch64 等说明

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值