提示的錯誤信息如下:
-bash: /usr/local/go/bin/go: cannot execute binary file: Exec format error
問題和解決
出現上面問題的原因可能是你下載了不用架構的版本。
Raspberry Pi 的 CPU架構爲 ARM,如果你下載使用了 X86 架構的話,你的安裝是沒有辦法運行的。
進入 go 的下載界面:https://golang.org/dl 然後選擇基於 ARM 架構版本。
然後運行下面的命令進行安裝。
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.4.linux-armv6l.tar.gz
在安裝完成後,需要參考官方的文檔設置路徑。
可以編輯 $HOME/.profile 或 /etc/profile 文件,在這個文件的最後添加下面這句話:
export PATH=$PATH:/usr/local/go/bin
然後再執行 source /etc/profile
命令,簡單點,你也可以退出當前會話後重新登錄。
遇到的坑
如果你的 Raspberry Pi 版本不是非常新,你需要確定下 CPU 的版本。
運行命令:cat /proc/cpuinfo
可以看到當前系統的 CPU 版本,在現在這個版本的情況下,你需要下載的是 ARMv6 的編譯包。
如果你下載並且使用了 ARMv8 的編譯包的話,你同樣也會遇到上面的錯誤。
原因就是編輯的文件不支持當前的 CPU。
檢查安裝情況
當完成上面的配置後,運行命令:
go version
如果你能看到顯示的 go 的 version 版本的話,那麼就表示 go 的運行環境已經配置好了。
上圖中顯示了配置的 go 的版本。
https://www.ossez.com/t/raspberry-pi-go-exec-format-error/13471