明天小土带来一篇对于Go版本管理器gvm的小短文。废话不多说,开始装置。
装置
如果你应用的mac,mac 须要先装置xcode-select,没装置过的同学能够依照如下命令进行执行装置,这里不做太多阐明了。
xcode-select --installbrew updatebrew install mercurial
依照github下面批示,咱们这里依照命令行进行下载gvm-installer进行装置,终端执行有问题的同学也能够到gvm-installer页面进行clone装置。
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)Cloning from https://github.com/moovweb/gvm.git to /Users/admin/.gvmCreated profile for existing install of Go at "/opt/homebrew/Cellar/go/1.18.1/libexec"Installed GVM v1.0.22Please restart your terminal session or to get started right away run `source /Users/admin/.gvm/scripts/gvm`
接下来为了使gvm失效,须要执行一下下面提醒的source /Users/admin/.gvm/scripts/gvm命令即可,执行完结就能够在新终端应用gvm来切换管制go的版本了。
应用
装置好了,咱们就能够来简略理解一下gvm的反对的一些性能。这下能够召唤gvm的help选项了。
$gvm helpUsage: gvm [command]Description: GVM is the Go Version ManagerCommands: version - print the gvm version number # 查看gvm的版本 get - gets the latest code (for debugging) # 获取最新的代码(个别为了调试) use - select a go version to use (--default to set permanently) # 抉择应用的Go版本 (--default 能够永恒设置) diff - view changes to Go root # 查看Go root中的变更 help - display this usage text implode - completely remove gvm # 齐全删除 gvm 和所有已装置的 Go 版本和包 install - install go versions # 装置某个版本的Go uninstall - uninstall go versions # 卸载某个版本的Go cross - install go cross compilers # 装置跨平台Go编译器 linkthis - link this directory into GOPATH # 将我的项目门路链接到GOPATH中 list - list installed go versions # 列举曾经装置的Go版本列表 listall - list available versions # 列举可用的Go版本 alias - manage go version aliases # 治理Go版本别名 pkgset - manage go packages sets # 治理Go包的设置 pkgenv - edit the environment for a package set # 编辑Go包汇合的环境
gvm的简略应用
先通过gvm listall命令来看下目前的Go版本列表,如下,列表太长了,这里Go1-15的版本列表省略了,能够看出最新的是Go1.19的beta和几个rc版本了。那么咱们接下来通过下载Go1.19的rc版本来做示例。
$gvm listallgvm gos (available) go1 ... go1.16 go1.16beta1 go1.16rc1 go1.16.1 go1.16.2 go1.16.3 go1.16.4 go1.16.5 go1.16.6 go1.16.7 go1.16.8 go1.16.9 go1.16.10 go1.16.11 go1.16.12 go1.16.13 go1.16.14 go1.16.15 go1.17 go1.17beta1 go1.17rc1 go1.17rc2 go1.17.1 go1.17.2 go1.17.3 go1.17.4 go1.17.5 go1.17.6 go1.17.7 go1.17.8 go1.17.9 go1.17.10 go1.17.11 go1.17.12 go1.18 go1.18beta1 go1.18beta2 go1.18rc1 go1.18.1 go1.18.2 go1.18.3 go1.18.4 go1.19beta1 go1.19rc1 go1.19rc2 release.r56 release.r57 release.r58 release.r59 release.r60 release.r57.1 release.r57.2 release.r58.1 release.r58.2 release.r60.1 release.r60.2 release.r60.3
装置一个Go版本
先看下目前应用的Go版本,小土这里应用的是go1.18.1的版本。
$go versiongo version go1.18.1 darwin/arm64
装置一个最新Go1.19的rc1版本。
$gvm install go1.19rc1Installing go1.19rc1... * Compiling...go1.19rc1 successfully installed!
版本切换
接下来,咱们切换一下下载好的go版本,这里应用gvm use version即可切换。
$gvm use go1.19rc1Now using version go1.19rc1
如何永恒切换呢?加上--default即可永恒设置,能够通过新建终端执行go version,验证查看Go版本是否齐全切换。
$gvm use go1.19rc1 --defaultNow using version go1.19rc1
而后咱们应用go version查看以后应用的Go版本,看来是切换胜利了。那么你就能够来去自如地切换Go版本了。尤其是在调试不同Go版本带来的问题代码时候特地有用。
$go versiongo version go1.19rc1 darwin/arm64
降级问题排查
若在降级Go过程中,gvm文件的状态产生错乱或者其余问题,能够通过执行rm -rf ~/.gvm来删除gvm进行问题的fix。
goland中应用 还是须要将以后版本复制到肯定目录,而后设置goroot
goup
关注我 获取更多好文
本文由mdnice多平台公布