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

这篇具有很好参考价值的文章主要介绍了解决 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 不匹配导致的这咱也不懂那抹多,只能从安装的版本排查
go 无法执行二进制文件,go语言入门学习,golang,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 等说明文章来源地址https://www.toymoban.com/news/detail-526015.html

到了这里,关于解决 bin/go: cannot execute binary file 问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包