Go 言語バージョン管理ツール gvm インストール [macOS 編]

Tadashi Shigeoka ·  Thu, January 24, 2019

Go 言語バージョン管理ツール gvm をインストールして、golang をバージョン指定してインストールする手順をご紹介します。

golang

前提条件

  • macOS Mojave

gvm インストール

$ zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
Cloning from https://github.com/moovweb/gvm.git to /Users/yourname/.gvm
No existing Go versions detected
Installed GVM v1.0.22

Please restart your terminal session or to get started right away run
 `source /Users/yourname/.gvm/scripts/gvm`

Golang 特定バージョンのインストール

gvm で Golang のバージョンを指定してインストールする方法は以下のとおりです。

$ gvm install go1.11 --binary
Installing go1.11 from binary source

いろいろと下準備しておかないと以下のようなエラーが発生するので、基本的に —binary を指定してインストールするようにしています。

ERROR: Failed to use installed version

そのまま gvm install バージョン番号 するとエラーが発生します。

$ gvm install go1.11
Downloading Go source...
Installing go1.11...
 * Compiling...
/Users/yorname/.gvm/scripts/install: line 84: go: command not found
ERROR: Failed to compile. Check the logs at /Users/yorname/.gvm/logs/go-go1.11-compile.log
ERROR: Failed to use installed version

詳しくは MacOS Sierraでgvmを使ってGo 1.8をセットアップ - Qiita に書かれていました。ありがとうございます。

Golang 特定バージョンの使い方

gvm use バージョン番号 で使いたい golang version へ切り替えることができます。

# gvm use 前
$ which go
go not found

$ gvm use go1.11
Now using version go1.11

# gvm use 後
$ which go
/Users/yourname/.gvm/gos/go1.11/bin/go

# 環境変数の確認
$ echo $GOROOT
/Users/yourname/.gvm/gos/go1.11
$ echo $GOPATH
/Users/yourname/.gvm/pkgsets/go1.11/global

以上、gvm で golang の複数バージョンをインストールして使っていきたい現場からお送りしました。