关于后端:golang版本管理gvm

明天小土带来一篇对于Go版本管理器gvm的小短文。废话不多说,开始装置。

装置

如果你应用的mac,mac 须要先装置xcode-select,没装置过的同学能够依照如下命令进行执行装置,这里不做太多阐明了。

xcode-select --install
brew update
brew 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/.gvm
Created profile for existing install of Go at "/opt/homebrew/Cellar/go/1.18.1/libexec"
Installed GVM v1.0.22

Please 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 help
Usage: gvm [command]

Description:
  GVM is the Go Version Manager

Commands:
  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 listall

gvm 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 version
go version go1.18.1 darwin/arm64

装置一个最新Go1.19的rc1版本。

$gvm install go1.19rc1
Installing go1.19rc1...
 * Compiling...
go1.19rc1 successfully installed!

版本切换
接下来,咱们切换一下下载好的go版本,这里应用gvm use version即可切换。

$gvm use go1.19rc1
Now using version go1.19rc1

如何永恒切换呢?加上–default即可永恒设置,能够通过新建终端执行go version,验证查看Go版本是否齐全切换。

$gvm use go1.19rc1 --default
Now using version go1.19rc1

而后咱们应用go version查看以后应用的Go版本,看来是切换胜利了。那么你就能够来去自如地切换Go版本了。尤其是在调试不同Go版本带来的问题代码时候特地有用。

$go version
go version go1.19rc1 darwin/arm64

降级问题排查
若在降级Go过程中,gvm文件的状态产生错乱或者其余问题,能够通过执行rm -rf ~/.gvm来删除gvm进行问题的fix。

goland中应用 还是须要将以后版本复制到肯定目录,而后设置goroot

goup

关注我 获取更多好文

本文由mdnice多平台公布

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理