GVM for Go #
gvm
是 golang
語言的版本管理系統,類似 nodejs
的 nvm
,以及 ruby
的 rvm
等等。
對這軟體的功用就不再贅述了。
安裝 gvm #
gvm
是用 shell
語言寫成,基本上直接用 curl
就可以安裝了
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
如果是用 zsh
就將首字的 bash
改成 zsh
即可
安裝完成後在終端機輸入 gvm
就可以看到如下畫面
$ gvm
Usage: gvm [command]
Description:
GVM is the Go Version Manager
Commands:
version - print the gvm version number
get - gets the latest code (for debugging)
use - select a go version to use (--default to set permanently)
diff - view changes to Go root
help - display this usage text
implode - completely remove gvm
install - install go versions
uninstall - uninstall go versions
cross - install go cross compilers
linkthis - link this directory into GOPATH
list - list installed go versions
listall - list available versions
alias - manage go version aliases
pkgset - manage go packages sets
pkgenv - edit the environment for a package set
安裝 go #
如果要安裝 <1.5
以降版本,例如 1.4
就直接安裝即可:
gvm install go1.4
gvm use go1.4 [--default]
但如果要安裝 >=1.5
以上版本,因為 1.5
以上版本的 Golang
已經完成自舉,需要 go 1.4
進行編譯。
所以需要先安裝 1.4
版本後再行編譯。參照官方文件就是:
gvm install go1.4 -B
gvm use go1.4
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.5
fatal error: MSpanList_Insert #
不過雖然官方說直接安裝 go1.4
即可,個人作業系統為 MacOS 10.13.6
,在啟用 go
語言時,一直發生錯誤。
詳細錯誤內容我就不附錄了,網路上找了一堆方法都不行。一度想要直接用 brew
或者官方編譯好的 pkg 檔案安裝,放棄 gvm
管理 golang
後來個人是直接用 go1.10.3
進行 binary
安裝,就解決這問題了:
gvm install go1.10.3 -B
–defalut #
在這裡建議將某個 golang
版本設定為預設版本。
因為 gvm 會自動調整 GOPATH 以及 GOROOT 還有 PATH 位置,很方便。但如果沒有將某個版本設定為 default,在未經修改的設定上,GOPATH 還有 GOROOT可能會是空的,這時候就會採很多坑。
設定方法,就是在 use 指令的最後面加上 --default
:
gvm use go1.10.3 --default
例如設定為 go1.9.7
為預設版本:
gmv use go1.9.7 --default