在 Go 專案開發中,團隊要保持開發版本一致,怎麼能夠快速的安裝及部署並且切換 Go 環境,在這裡推薦一款工具 GVM ( Go Version Manager ),它可以便捷切換與自定義 Go Path 、Go Root 等參數,是一款實打實的多版本安裝及管理利器。
GVM,類似於 ruby 中的 RVM,java 中的 jenv(國產),可用於方便管理 Go 的版本,它有如下幾個主要特性:
管理 Go 的多個版本,包括安裝、卸載和指定使用 Go 的某個版本;
- 查看官方所有可用的 Go 版本,同時可以查看本地已安裝和默認使用的 Go 版本;
- 管理多個 GOPATH,並可編輯 Go 的環境變量;
- 可將當前目錄關聯到 GOPATH;
- 可以查看 GOROOT 下的文件差異。
安裝 Installing#
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
或者,如果您使用的是 zsh,只需使用 zsh 更改 bash。
使用 GVM#
使用 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 版本#
例如安裝 go1.13 版本:
gvm install go1.13
查看 Go 版本#
➜ ~ gvm list
gvm gos (installed)
go1.12
=> system
切換 Go 版本#
gvm use go1.**
管理 Gopath 環境#
GVM 提供了一個比較簡單的工具 gvm pkgset 可以創建使用 GOPATH 環境:
➜ ~ gvm pkgset
= gvm pkgset
* http://github.com/moovweb/gvm
== DESCRIPTION:
GVM pkgset is used to manage various Go packages
== Usage
gvm pkgset Command
== Command
create - create a new package set
delete - delete a package set
use - select where gb and goinstall target and link
empty - remove all code and compiled binaries from package set
list - list installed go packages
卸載 Uninstall#
卸載某個安裝好的 Go 版本:
gvm uninstall go1.13
開源代碼#
GVM 是一款使用 Shell 腳本實現的便捷工具,作為開源項目,推薦大家給一個 Star 支持。