Golang 想要有多個版本同時可以執行的環境,可以安裝 GVM 來切換管理,不過想要從一開始就直接使用 GVM 安裝,要怎麼做呢?
GVM 與 Go 語言的環境如何安裝、架設
GVM 官網:Go Version Manager
於 Debain / Ubuntu Linux 安裝環境
- sudo apt-get install curl git mercurial make binutils bison gcc build-essential
GVM 環境安裝
- bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
- 上述命令執行完,就已經有 gvm 可以使用了
使用 GVM 安裝 Golang
安裝 go1.6 與 go1.4 失敗的情況
- $ gvm install go1.6
Installing go1.6...
* Compiling...
ERROR: Failed to compile. Check the logs at /home/user/.gvm/logs/go-go1.6-compile.log - $ cat /home/user/.gvm/logs/go-go1.6-compile.log
cmd/dist
ERROR: Cannot find /home/user/go1.4/bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4. - 由此看到想要安裝 go1.6 需要安裝 go1.4 並設定 $GOROOT_BOOTSTRAP
- $ gvm install go1.4
Installing go1.4...
* Compiling...
ERROR: Failed to compile. Check the logs at /home/jon/.gvm/logs/go-go1.4-compile.log - $ cat /home/jon/.gvm/logs/go-go1.4-compile.log
##### Building Go bootstrap tool.
cmd/dist
ERROR: Cannot find /home/jon/go1.4/bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4. - 結果 go1.4 不給安裝,也是一樣的訊息
使用 GVM 安裝 Go 1.6、Go1.4 與各種版本的做法(首次安裝)
- gvm install go1.4 --binary # 直接安裝 binary
- gvm use go1.4 # 使用 go1.4 的環境
- export GOROOTBOOTSTRAP=$GOROOT # 設定 $GOROOTBOOTSTRAP
- gvm install go1.6 # 安裝 Go 1.6
Installing go1.6...- Compiling...
go1.6 successfully installed!
- Compiling...
- gvm use go1.6 # 就有 go 1.6 可以使用囉~
- go version
go version go1.6 linux/amd64 - 再來要安裝其它版本,只要 gvm install 即可。
Go get 套件位置
gvm 後,使用 go get 安裝 package 或 library 會放在哪裡?
- /home/user/.gvm/pkgsets/go$VERSION/global/src
- example:/home/user/.gvm/pkgsets/go1.8/global/src
GVM 基本命令
- gvm list # 列出目前 gvm 有安裝的 Go 版本
- gvm listall # 列出所有 gvm 可以安裝的 Go 版本
- gvm use # 使用 Go 的指定版本
- gvm implode # gvm 含安裝的 Go 全部移除
- gvm unlistall # 移除 Go 版本
- gvm help # help