brew install thrift
zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
gvm install go1.4
gvm use go1.4
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.5
gvm install go1.6
gvm install go1.7
gvm list
export GOPATH=~/go_home
go get git.apache.org/thrift.git/lib/go/thrift
switch the go verion (go1.4 - go1.7) by using gvm use GO_VERSION
go_version=go1.7
gvm use $go_version
rm -rf ~/.gvm/pkgsets/$go_version/global
ln -s ~/go_home ~/.gvm/pkgsets/$go_version/global
(only run in first time)
cd $GOPATH/src/git.apache.org/thrift.git/tutorial
thrift -r --gen go tutorial.thrift
mv gen-go/* go/src/
cd $GOPATH/src/git.apache.org/thrift.git/tutorial/go
export GOPATH=$GOPATH:$PWD
go run src/*.go -server=true
go_version=go1.7
gvm use $go_version
cd $GOPATH/src/git.apache.org/thrift.git/tutorial/go
export GOPATH=$GOPATH:$PWD
go run src/*.go
$ ll ~/.gvm/pkgsets/go1.4/
lrwxr-xr-x 1 erichan staff 22 8 29 02:53 global -> /Users/erichan/go_home
$ ll ~/.gvm/pkgsets/go1.5
lrwxr-xr-x 1 erichan staff 22 8 29 03:12 global -> /Users/erichan/go_home
$ ll ~/.gvm/pkgsets/go1.6
lrwxr-xr-x 1 erichan staff 22 8 29 03:13 global -> /Users/erichan/go_home
$ ll ~/.gvm/pkgsets/go1.7
lrwxr-xr-x 1 erichan staff 22 8 29 03:14 global -> /Users/erichan/go_home
$ cd /Users/erichan/go_home/src/git.apache.org/thrift.git/tutorial/go/src
$ rm -rf shared tutorial