GVMとは
GVM(Github)
Go Version Managerの頭文字をとってGVM
一言で言うと
GVM provides an interface to manage Go versions.
日本語に直訳すると
GVMは、Goバージョンを管理するためのインタフェースを提供します。
インストール
AnsibleでMacの開発環境を構築する
でも、gvmのインストールはされていますが、コマンドでも一発でインストール可能です。
1
| bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
|
1
2
| $ gvm version
-bash: gvm: command not found
|
おっと、パスが通ってませんでした。。。
1
2
3
| $ source ~/.gvm/scripts/gvm
$ gvm version
Go Version Manager v1.0.22 installed at /Users/XXXXX/.gvm
|
使い方
gvm list
インストール済のGoのバージョン一覧を表示
1
2
3
4
5
6
7
8
9
| $ gvm list
gvm gos (installed)
go1.4
go1.7.6
go1.8.3
=> go1.9.3
system
|
バージョンを表示してみると
1
2
| $ go version
go version go1.9.3 darwin/amd64
|
gvm listall
GVMでインストール可能なGoのバージョン一覧を表示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
| $ gvm listall
gvm gos (available)
go1
go1.0.1
go1.0.2
go1.0.3
go1.1
go1.1.1
go1.1.2
go1.10beta1
go1.10beta2
go1.10rc1
go1.1rc2
go1.1rc3
go1.2
go1.2.1
go1.2.2
go1.2rc2
go1.2rc3
go1.2rc4
go1.2rc5
go1.3
go1.3.1
go1.3.2
go1.3.3
go1.3beta1
go1.3beta2
go1.3rc1
go1.3rc2
go1.4
go1.4.1
go1.4.2
go1.4.3
go1.4beta1
go1.4rc1
go1.4rc2
go1.5
go1.5.1
go1.5.2
go1.5.3
go1.5.4
go1.5beta1
go1.5beta2
go1.5beta3
go1.5rc1
go1.6
go1.6.1
go1.6.2
go1.6.3
go1.6.4
go1.6beta1
go1.6beta2
go1.6rc1
go1.6rc2
go1.7
go1.7.1
go1.7.2
go1.7.3
go1.7.4
go1.7.5
go1.7.6
go1.7beta1
go1.7beta2
go1.7rc1
go1.7rc2
go1.7rc3
go1.7rc4
go1.7rc5
go1.7rc6
go1.8
go1.8.1
go1.8.2
go1.8.3
go1.8.4
go1.8.5
go1.8.5rc4
go1.8.5rc5
go1.8.6
go1.8beta1
go1.8beta2
go1.8rc1
go1.8rc2
go1.8rc3
go1.9
go1.9.1
go1.9.2
go1.9.3
go1.9beta1
go1.9beta2
go1.9rc1
go1.9rc2
release.r56
release.r57
release.r57.1
release.r57.2
release.r58
release.r58.1
release.r58.2
release.r59
release.r60
release.r60.1
release.r60.2
release.r60.3
|
gvm install
gvmでバージョン指定してGoをイントールする
試しに、go1.9.2をインストールしてみる
1
2
3
4
| $ gvm install go1.9.2
Installing go1.9.2...
* Compiling...
go1.9.2 successfully installed!
|
1
2
3
4
5
6
7
8
9
10
| $ gvm list
gvm gos (installed)
go1.4
go1.7.6
go1.8.3
go1.9.2 # 追加されている
=> go1.9.3
system
|
gvm use
gvmで利用するGoのバージョンを変更する
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $ gvm use go1.8.3
Now using version go1.8.3
$ go version
go version go1.8.3 darwin/amd64
$ gvm list
gvm gos (installed)
go1.4
go1.7.6
=> go1.8.3
go1.9.2
go1.9.3
system
|
最後に
使い方はとても簡単ですね。
そこまでバージョン切り替えて使うシーンがどこまであるかわかりませんが、Golangで開発するなら導入しておいて損はないと思います。