問題記錄我是在linux 64 位系統(tǒng)安裝 1.19.7 版本出現(xiàn)的問題
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
修改全局執(zhí)行命令
vim ~/.bashrc
#增加一行g(shù)o全局執(zhí)行path
export PATH=$PATH:/usr/local/go1.19.7/go/bin
#保存后重新引入文件(不會生效重新打開一個新的命令號窗口就會生效)
source ~/.bashrc
問題出現(xiàn)了
go version
#go執(zhí)行命令報錯
-bash: /usr/local/go1.19.7/go/bin/go: cannot execute binary file
cannot execute binary file 百度翻譯了下是 無法執(zhí)行二進(jìn)制文件
網(wǎng)上找了很久問題原因,可能是安裝的go版本包 和 當(dāng)前l(fā)inux 不匹配導(dǎo)致的這咱也不懂那抹多,只能從安裝的版本排查
當(dāng)時安裝的是下面的 ARM64 的包 上面還有個 x86-64 的包 可能是這里的問題
查了下相關(guān)的知識
在安裝軟件的時候,windows上會有 32bit和64bit 的區(qū)別,但是Linux系統(tǒng)下則還需要知道CPU架構(gòu)
32 位系統(tǒng) x86
64 位系統(tǒng) x86-64
常見CPU架構(gòu)
ARM架構(gòu):aarch64、arm64
X86架構(gòu):x86_64、x64、AMD64
MIPS架構(gòu):mips
那查看當(dāng)前我用的linux 的cpu 架構(gòu)是什么樣的
[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 命令查看我的系統(tǒng)是 x86_64,x86cpu系統(tǒng)架構(gòu),不是ARM架構(gòu),我裝arm 的go包 導(dǎo)致出現(xiàn)的錯誤,的確自己的疏忽和計(jì)算機(jī)底層知識不足導(dǎo)致的問題,后面計(jì)劃去找門課程補(bǔ)充下
cd /usr/local/src
#安裝go go1.19.7 x86-64 系統(tǒng)的包
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
#執(zhí)行g(shù)o命令,檢測go1.19.7安裝成功
[root@VM-16-13-centos src]# go version
go version go1.19.7 linux/amd64
參考資料文章來源:http://www.zghlxwxcb.cn/news/detail-526015.html
關(guān)于Linux軟件下載時:amd64、i386、arm64、x86_64、aarch64 等說明文章來源地址http://www.zghlxwxcb.cn/news/detail-526015.html
到了這里,關(guān)于解決 bin/go: cannot execute binary file 問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!