MIKAZUKI 開発者ブログ

MIKAZUKI で開発を進める上で見つけた気づきやノウハウをお伝えするテックブログです。

CentOs golang環境構築

必要そうなものをインストール

$ sudo yum install curl git make bison gcc glibc-devel

golangのバージョン管理ツールであGVMをインストールする

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

今回はgolang1.4.2をインストール

$ gvm install go1.4.2

失敗する

##### Building Go bootstrap tool.
cmd/dist
ERROR: Cannot find /home/mikazuki_ttp/go1.4/bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.
./make.bash: line 121: /home/mikazuki_ttp/go1.4/bin/go: No such file or directory

さあどうしたものか

いろいろ調べた結果 https://github.com/moovweb/gvm/issues/124 gitのバージョンを上げて解決している例がちらほら

そういえば yum updateしないで 思考停止して sudo yum install git してるな、、ということで

$ sudo yum update

そして

$ yum list | grep git
fprintd.x86_64                            0.1-22.git04fd09cfa.el6       @base   
fprintd-pam.x86_64                        0.1-22.git04fd09cfa.el6       @base   
git.x86_64                                1.7.1-3.el6_4.1               @base  
...

あれ、、、yumでは2.x系のgitをインストール出来ないのか、、、

なので http://qiita.com/sirone/items/2e233ab9697a030f1335 の記事を参考にgitを直接入れる

$ sudo yum remove git
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
$ wget https://www.kernel.org/pub/software/scm/git/git-2.2.0.tar.gz
$ tar -zxf git-2.2.0.tar.gz
$ cd git-2.2.0
$ make prefix=/usr/local all
$ make prefix=/usr/local install

でうまくいくはずが

install -d -m 755 '/usr/local/bin'
install -d -m 755 '/usr/local/libexec/git-core'
install: cannot change permissions of `/usr/local/libexec/git-core': No such file or directory
make: *** [install] Error 1

パーミッションを変えて再チャレンジ

& git --version
=> git version 2.2.2

でけた

リベンジ!

gvm install go1.4.2
gvm use go1.4.2
go version
=> go version go1.4.2 linux/amd64

golangが無事入りました〜!