EnsekiTT Blog

EnsekiTTが書くブログです。

Mac+zshにGoLangのgvmをインストールした話

つまりなにしたの?

MacOS Catalina 10.15.6(19G73)上のzshGoLangの開発環境としてgvmをインストールして
go1.14.1をインストールしてみた。
go1.14.1はAtCoderのGoのバージョンで、久しく触っていなかったAtCoderをGoの勉強に使おうと思った次第。

f:id:ensekitt:20200820022823j:plain

実行環境

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.15.6
BuildVersion:	19G73

$ zsh --version
zsh --version
zsh 5.8 (x86_64-apple-darwin19.3.0)

$ xcode-select --version
xcode-select version 2373.

やってみた

# xcode, brew周りの準備(xcodeはすでにやってあることもあると思う)
$ xcode-select --install
$ brew update
$ brew install mercurial

# zshにインストールする(他のシェルでインストールしてあると、一旦削除しろと言われる。)
$ zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
## 反映用(シェルを再起動してもよい)
$ source /Users/ensekitt/.gvm/scripts/gvm

失敗した方法1

まず公式のgo1.4バイナリをインストールする
(このあたりでgvmを使うことを少し後悔し始めたので、続けるかはあなた次第
(やめたい場合は$ gvm implodeを実行すればやめられる。パッケージなども消えるので注意

golang.org
Archived versionsからgo1.4.darwin-amd64-osx10.8.pkgをダウンロードしてインストールする
→ バイナリを実行できなかったので断念

失敗した方法2

# gvmからgo1.4をバイナリでインストールする
$ gvm install go1.4 -B
Installing go1.4 from binary source

# 別のバージョンのインストール
$ gvm use go1.4
$ export GOROOT_BOOTSTRAP=$GOROOT
## これはzshrcにも書いた

# AtCoderで使われている1.14.1をインストールしてみる
$ gvm install go1.14.1
うまく行かない

→ 失敗した方法1と同じでバイナリが実行できていなかった

うまく行った方法

# 最新版(go1.15)のバイナリをインストールする
$ gvm install go1.15 -B
$ gvm use go1.15
# 一応別のバージョンをインストールしてみる
$ gvm install go1.14.1
Installing go1.14.1...
 * Compiling...
go1.14.1 successfully installed!
# useしないと1.15のままなので注意

うまくいきました。いきなり最新のバイナリを入れて良さそう。
1.4を入れろとは何だったのか。

まとめ

公式のREADME通りにやってもうまく行かないので、gvmを使うこと自体をためらい始めた。
一応1.14.1が入ったので問題無しとして使い続けるけど、問題があったらまた環境構築を検討する

参考文献

golang.org
github.com

クリエイティブ・コモンズ・ライセンス
この 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。