Ubuntu使用gvm安裝go

flytoyou發表於2024-03-21

建議使用非sudo使用者裝,方便vscode連線時go外掛使用。

1.若系統之前存在舊版本的go,無則跳過此步驟

sudo rm -rf /usr/local/go
sudo apt-get remove golang
sudo apt-get remove golang-go
sudo apt-get autoremove

2.到gvm的官方github頁面找到安裝的命令

安裝gvm命令

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

如果用的是zsh,那就把這條命令的bash換成zsh即可。

在這裡我使用的是騰訊雲的伺服器,它把github給ban了,非常煩人。執行這個bash命令報網路錯誤,我的解決方法是:直接到命令中的網址把這個gvm-installer下載下來,然後本地執行這個檔案。

然後重啟一下terminal,試試輸入gvm會不會輸出對應的輸出,不行的話,到~/.bashrc 中底部補充一句

(這裡的'/home/ubuntu'是使用者目錄,如果ubuntu可以換成自己的使用者名稱。)

[[ -s "/home/ubuntu/.gvm/scripts/gvm" ]] && source "/home/ubuntu/.gvm/scripts/gvm"

3.使用gvm安裝go(go1.5以上)

如果需要安裝go1.5或以上的go版本,需要先安裝go1.4,gvm官網寫的原因是go1.5以上版本去除了C編譯器(感興趣可以去官網頁面看)。

gvm install go1.4 -B
gvm use go1.4
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.18

如果gvm install卡住了,可以嘗試以下兩種解決方法:

 gvm install go1.18 -B
或者
gvm install go1.18 --source=https://github.com/golang/go

4.使用剛安裝的go

gvm use go1.18
(如果想要讓gvm預設使用此版本,在後面新增--default)
go version

5.把gvm裝的某個版本的go配置到系統預設裡

將以下環境變數新增到/etc/profile

# GO PATH
export GOROOT=/home/ubuntu/.gvm/gos/go1.18
export GOPATH=/home/ubuntu/.gvm/pkgsets/go1.18/global
export GOBIN=$GOPATH/bin
export PATH=$GOPATH:$GOBIN:$GOROOT/bin:$PATH

如果不確定自己的GOROOTGOPATH,可以使用命令獲取

gvm use go1.18
go env | grep GOROOT
go env | grep GOPATH

也可以在 gvm use go1.18的後面加上--default,設定該版本為預設版本。

然後將下列命令補充到~/.bashrc 的最後一行

source "/etc/profile"

然後把機器重啟一下,嘗試一下直接go version看下是否列印了對應的go版本

相關文章