macbook pro
MACOS X 10.11
GO版本1.4
该问题适用场景1.6版本-1.8版本的GO代码编译
按照go按照指南在go根目录/src下执行
./all.bash
遇到
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.
错误,升级失败
编译GO 1.6版本以上的需要依赖GO 1.4版本的二进制,并且需要把GOROOT_BOOTSTRAP的路径设置为1.4版本GO的根目录,这样它的bin目录就可以直接使用到1.4版本的GO
先编译go1.4版本,设置好GOROOT_BOOTSTRAP,然后再执行脚本编译安装GO1.6以上版本
1.如果之前已经安装过老版本的Go,清除 GOPATH, GOROOT变量。
unset GOPATH
unset GOROOT
2.获取1.4GO源代码,这里以git获取为例
git clone [email protected]:golang/go.git
cd go
git checkout -b 1.4.3 go1.4.3
cd src
./all.bash
复制 ~/go 下的文件到 $GOROOT_BOOTSTRAP(默认值是~/go1.4)---如果采用这种方式,GOROOT_BOOTSTRAP适用另一个路径,免得与新版本GO冲突
记得设置GOROOT为代码目录
3.获取最新版本的GO版本
还是不要获取了。。。因为你不知道版本号,会遇到该问题(即因为go-master分支是没有VERSION文件,故会有问题,需要选择发行版进行编译)
go tool dist: FAILED: not a Git repo; must put a VERSION file in $GOROOT
4.编译新版GO源码
cd ~/go
git clean -dfx
git checkout -b 1.8 go1.8
cd src
./all.bash
即可等待编译完成
ALL TESTS PASSED
字样表示编译安装OK
编译完成后,设置 $GOPATH 以及添加Go二进制路径到 $PATH
5.配置好之后,使用go version命令查看版本是否正确
feiqianyousadeMacBook-Pro:Downloads yousa$ go version
go version go1.8 darwin/amd64