使用 GVM 工具管理 Go 版本

Meng小羽發表於2020-07-12

友情提示:此篇文章大約需要閱讀 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 版本:

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

gvm uninstall go1.13

開源支援

GVM 是一款使用 Shell 指令碼實現的便捷工具,作為開源專案,推薦大家給一個 Star 支援。
github.com/moovweb/gvm

本作品採用《CC 協議》,轉載必須註明作者和本文連結
Meng小羽

相關文章