なんかいつの間にこんなrepoあったの
git clone https://go.googlesource.com/go
とりあえず現状確認
% go version go version go1.6.2 darwin/amd64 % echo $GOROOT /Users/otiai10/.go/1.6.2 % ls /Users/otiai10/.go 1.4.3 1.5.3 1.6.2
なるほど、かつての自分はディレクトリを分けて保存していたっぽい。ミラーじゃなくて公式にソースを配布するレポジトリになってるので、これからはgitのrevisionでソースのバージョンを管理できるはず。ということで、以下のような構成にしました。
% cd /Users/otiai10/.go % git clone https://go.googlesource.com/go tip % ls /Users/otiai10/.go 1.4.3 1.5.3 1.6.2 tip
いいかんじ。そして、いざインストール。これ Installing Go from source - The Go Programming Language に従って、
% cd /Users/otiai10/.go/tip % git checkout go1.7 # "go1.7" のリリースタグのリビジョンへ移動 % cd src % GOROOT_BOOTSTRAP=/Users/otiai10/.go/1.6.2 ./all.bash # 1.4以降のバイナリを要求するので、そこへのpathを指定する # 今回は、直前の1.6を使った。今後も1.6でいいだろうと思う
で、
# 中略... +pkg debug/pe, type Section struct, Relocs []Reloc +pkg debug/pe, type StringTable []uint8 +pkg time, func Until(Time) Duration ALL TESTS PASSED --- Installed Go for darwin/amd64 in /Users/otiai10/.go/tip Installed commands in /Users/otiai10/.go/tip/bin *** You need to add /Users/otiai10/.go/tip/bin to your PATH.
と言われるので、~/.zshrc
でGOROOT
の値を/Users/otiai10/.go/tip
に変え、PATH=$PATH:$GOROOT/bin:$GOPATH/bin
は変わらず。別シェルを立ててログインしなおすと、
% go version
go version go1.7 darwin/amd64
良い感じっぽい。エディタの環境設定もちょっといじる必要があるはず。まあ後でいいや。そんで、今後1.8、1.9とかがリリースされたら、
% cd /Users/otiai10/.go/tip % git fetch origin % git checkout {なんかそのバージョン} % cd src % GOROOT_BOOTSTRAP=/Users/otiai10/.go/1.6.2 ./all.bash
とすればいいはず。PATHはtipに通ってるので、もう編集する必要は無いはず。
雑感
- ベルリンで働きはじめて半年が経ちました
- サーバサイドエンジニアのはずが、iOS書いてます
- ビール🍺の飲み過ぎで太りました
DRYな備忘録として