今天看啥  ›  专栏  ›  洛竹

Go插件每日推荐之 gvm | Go 主题月

洛竹  · 掘金  ·  · 2021-04-04 14:51

文章预览

阅读 4

Go插件每日推荐之 gvm | Go 主题月

大家好,我是 @洛竹

本文首发于 洛竹的官方网站

本文同步于公众号『洛竹早茶馆』,转载请联系作者。

创作不易,养成习惯,素质三连!

GVM 提供了一个管理 Go 版本的接口。

特性

  • gvm install [tag] 安装/卸载 Go 版本,其中 tag 为 "60.3"、"go1"、"weekly.2011-11-08 " 或 "tip"
  • gvm dif 列出 GOROOT 中增加/删除的文件。
  • gvm pkgset [create/use/delete] [name] 管理 GOPATHs。使用 —local 作为 name 来管理本地路径下的版本库(/path/to/repo/.gvm_local)。
  • gvm listall 列出最新发布的标签。使用 —all 也可以每周列出。
  • 为多个版本的安装缓存最新的 Go 源码的干净副本。
  • 将项目目录链接到 GOPATH中。

背景

当我们开始用围棋开发时,不匹配的依赖关系和 API 变化困扰着我们的构建过程,使其极难与其他人的变化合并。

在数次将整个GOROOT 毁掉并重新构建之后,我决定开发一个工具来监督这个过程。它最终演变成了今天的 gvm。

安装

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

或者如果你使用的是 zsh,只需将 bash 改为 zsh

安装 Go

gvm install go1.4
gvm use go1.4 [--default]
复制代码

一旦完成,Go 将被安装在路径中并可以使用。$GOROOT$GOPATH 是自动设置的。

Additional options can be specified when installing Go:

Usage: gvm install [version] [options]
  -s,  --source=SOURCE      Install Go from specified source.
  -n,  --name=NAME          Override the default name for this version.
  -pb, --with-protobuf      Install Go protocol buffers.
  -b,  --with-build-tools   Install package build tools.
  -B,  --binary             Only install from binary.
    --prefer-binary      Attempt a binary install, falling back to source.
  -h,  --help               Display this message.
复制代码

编译 Go 1.5+ 的注意事项

Go 1.5+ 从工具链中删除了 C 编译器,并替换 compiler_note 为用 Go 编写的编译器。很明显,如果你还没有安装好 Go,这就会产生一个引导问题。为了编译 Go 1.5+,请先确保安装了 Go 1.4。

gvm install go1.4 -B
gvm use go1.4
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.5
复制代码

列出 Go 版本

列出所有已安装的 Go 版本(当前版本前缀为 =>)。

gvm list
复制代码

列出所有可供下载的 Go 版本。

gvm listall
复制代码

卸载

要完全删除 gvm 和所有安装的 Go 版本和包:

gvm implode
复制代码

Mac OS X 环境要求

xcode-select --install
brew update
brew install mercurial
复制代码

Linux 环境要求

Debian/Ubuntu

sudo apt-get install curl git mercurial make binutils bison gcc build-essential
复制代码

Redhat/Centos

sudo yum install curl
sudo yum install git
sudo yum install make
sudo yum install bison
sudo yum install gcc
sudo yum install glibc-devel
复制代码

FreeBSD Requirements

sudo pkg_add -r bash
sudo pkg_add -r git
sudo pkg_add -r mercurial
复制代码
………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览