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
常用方式如下:
$ gvm pkgset create test # 创建一个 gvm pkgset, 名称为test$ gvm pkgset use test # 使用 testNow using version go1.14.2@test$ gvm pkgset listgvm go package sets (go1.14.2) global => test复制代码
更多有关 pkgset 的介绍如下:
开箱即用,Go 有一种出色而令人沮丧的管理包和模块的方式。默认情况下,如果你 go get 获取一个包,它将被下载到 $GOPATH 目录中的 src 和 pkg 目录下,然后可以使用 import 将其包含在你的 Go 程序中。这使得获得软件包变得很容易,特别是对于非特权用户,而不需要 sudo 或 root 特权(很像 Python 中的 pip install --user)。然而,在不同的项目中管理相同包的不同版本是非常困难的。
有许多方法可以尝试修复或缓解这个问题,包括实验性 Go Modules(Go 1.11 版中增加了初步支持)和 Go dep(Go Modules 的“官方实验”并且持续迭代)。在我发现 GVM 之前,我会在一个 Go 项目自己的 Docker 容器中构建和测试它,以确保分离。
GVM 通过使用 “pkgsets” 将项目的新目录附加到安装的 Go 版本的默认 $GOPATH 上,很好地实现了项目之间包的管理和隔离,就像 $PATH 在 Unix/Linux 系统上工作一样。
作者:Linux中国 链接:https://juejin.im/post/5da0900d5188254c4e6a94b7 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
常见问题
下载源
gvm 默认使用 github 的源,如果是其他源,如 googlesource,则大陆无法访问,需要更改源,修改方法为:
vim ~/.gvm/scripts/install复制代码
修改
GO_SOURCE_URL=https://github.com/golang/go复制代码
注意点
- GVM 安装新版本之后,Go 环境变量会重新设置,为了节约磁盘空间和时间,建议把之前版本的 GOPATH 内容移动到新版本对应的 GOPATH 目录下,相关路径可以通过 go env 获取
- 在同一版本下,用 gvm pkgset 创建多个 GOPATH,可能会占用你比较大的磁盘空间
本文来自:51CTO博客
感谢作者:mb6004f6df2b07a
查看原文:Golang 多版本管理工具 —— gvm | 七日打卡
相关阅读 >>
更多相关阅读请进入《Go》频道 >>

Go语言101
一个与时俱进的Go编程知识库。