专栏首页Debug客栈使用 GVM 工具管理 Go 版本

使用 GVM 工具管理 Go 版本

友情提示:此篇文章大约需要阅读 5分钟5秒,不足之处请多指教,感谢你的阅读。

在 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 版本:

go install go1.13

查看 Go 版本

➜  ~ gvm list          

gvm gos (installed)

   go1.12
=> system

管理 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 版本:

go uninstall go1.13

开源支持

GVM 是一款使用 Shell 脚本实现的便捷工具,作为开源项目,推荐大家给一个 Star 支持。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Laravel5.8使用LayUI上传并显示图片操作

    这个问题已经困扰好久了,唉 比较难受,本来学习laravel使用的是Bootstrap,之后用的是Uploadify进行上传图片,无奈,这个技术需要Flash的...

    Debug客栈
  • Laravel5.8学习日常之分页

    在平常的代码撰写中,分页是一个比较头疼的一件事,总结一下,现在分页可以分为两种分页大类,分别是后端分页及前端分页。

    Debug客栈
  • Laravel5.8使用LayUI实现批量删除

    问题同样困扰好久,前几天是CSRF认证问题,今天遇到了批量删除选择选中元素的问题,网上查找了好多代码,可算是把这个业务逻辑实现了,鼓掌,接下来听听我的解决方案吧...

    Debug客栈
  • Machine Learning -- Bayesian network

    链接地址:http://www.dataguru.cn/thread-508373-1-1.html 0 引言 事实上,介绍贝叶斯定理、贝叶斯方法、贝叶斯推断的...

    昱良
  • 目标检测算法之Fast-RCNN

    接着昨天介绍的RCNN,我们知道RCNN需要把每一个可能有目标的候选框搜索出来,然后把每个候选框传入CNN提取特征,每一张图片要产生大约2K个候选框,而每个框对...

    BBuf
  • 【机器学习】--贝叶斯网络

    当多个特征属性之间存在着某种相关关系的时候,使用朴素贝叶斯算法就没法解决这类问题,那么贝叶斯网络就是解决这类应用场景的一个非常好的算法。一般而言,贝叶斯网络的有...

    LhWorld哥陪你聊算法
  • 使用Yeoman generator来规范工程的初始化

    本文分为两部分,首先会谈谈目前团队的痛点以及基于yeoman generator的设计思路;然后会详细介绍如何实现定制的generator,过程中遇到的问题和解...

    腾讯IVWEB团队
  • go 学习笔记之初识 go 语言

    > 摘录自 github: https://github.com/golang/go,其中官网(国外): https://golang.org 和官网(国内):...

    雪之梦技术驿站
  • Golang学习资料大全

    咻咻ing
  • 分析Youtube数据的文本分类技术

    文本分类是自然语言处理(NLP)旨在解决的经典问题,其涉及分析原始文本的内容并决定其属于哪个类别。它具有广泛的应用,如情绪分析,主题标签,垃圾邮件检测和意图检测...

    代码医生工作室

扫码关注云+社区

领取腾讯云代金券