gvm管理多版本goland

Intro

Golang发展迅速,代码迭代非常快,想要调试和梳理项目进程就成了一件相对棘手的事情。偶然间发现了gvm - Go Version Manager,算是找到了调试切换版本的福音。

关于gvm

GVM,类似于ruby 中的RVM,java 中的jenv(国产),可用于方便管理 Go 的版本,它有如下几个主要特性:

  • 管理 Go 的多个版本,包括安装、卸载和指定使用 Go 的某个版本

  • 查看官方所有可用的 Go 版本,同时可以查看本地已安装和默认使用的 Go 版本

  • 管理多个 GOPATH,并可编辑 Go 的环境变量

  • 可将当前目录关联到 GOPATH

  • 可以查看 GOROOT 下的文件差异

Go 版本切换

二进制文件的管理比较简单,通过链接使用不同版本的程序即可,实际上主要是一些环境变量和标准库的设置问题,环境变量主要是 GOPATH 以及 GOROOT,标准库的话需要在切换 go 版本时也能跟着切换。gvm 实际上就是帮助完成这些配置工作。

安装

按照官方文档操作即可

 

1

2

3

 

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

# or

zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

使用

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

 

$ 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

Mac下需要这样一把(如果你的环境有问题的话)

 

1

2

3

 

xcode-select --install

brew update

brew install mercurial

一般常规的操作是

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

 

# 先列一下看支持哪些版本

gvm listall

# 看下自己环境有哪些版本

gvm list

# 安装需要的版本,比如go1.8.3,加--default代表每次再进terminal时默认使用这个版本

gvm install go1.8.3 [--default]

# 然后看下是否成功

go version

go env

# 如果不需要gvm的环境变量,则需要到GVM_ROOT/environments下面去删除

# 注意是清空文件

> $GVM_ROOT/environments/go1.8.3

# 如果需要每次打开terminal都生效的话,以下命令加入到bashrc/zshrc,注意要加在GOPATH/GOROOT的setting之前(如果希望环境变量不被修改的话)

source /Users/chentao/.gvm/scripts/gvm

几点注意

  • 在 Linux 下安装 GVM,需要安装相关依赖,详情见官网说明
  • GVM 官方显示没对 Windows 做支持,考虑到 Windows 不是程序员的标配吧(有同学回复用 git-windows客户端,自带bash功能,可以自行尝试安装下)。
  • GVM 安装新版本之后,Go 环境变量会重新设置,为了节约磁盘空间和时间,建议把之前版本的 GOPATH 内容移动到新版本对应的 GOPATH 目录下,相关路径可以通过 go env 获取
  • 在同一版本下,用 gvm pkgset 创建多个 GOPATH,可能会占用你比较大的磁盘空间
  • 使用 gvm implode 需谨慎
  • GVM 是用 shell 编写

# Golang # gvm
原文链接:

使用gvm管理多版本golang | Chen-Tao

侵删

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值