参考:http://life.leanote.com/post/%E8%AE%A9-go-get-%E6%98%BE%E7%A4%BA%E8%BF%9B%E5%BA%A6,http://www.jianshu.com/p/4f894d605e1a

蛋疼的网络,不知道go get有没宕,在网上找到一篇加进度条的,然后编译也需要,顺带一起记录下

首先先下载go1.4版本的,鸡生蛋蛋生鸡的问题。。。

wget https://storage.googleapis.com/golang/go1.4.3.src.tar.gz
tar zxvf go1.4.3.src.tar.gz

记住解压的地址啊,我是放在/opt/go1.4里的

我是brew install go的,所以go的地址是在/usr/local/Cellar/go/1.6.1/libexec/src

修改./cmd/go/vcs.go

// vcsGit describes how to use Git.
var vcsGit = &vcsCmd{
  name: "Git",
  cmd:  "git",

  createCmd:   "clone {repo} {dir}", // 此处修改为 clone --progress {repo} {dir} --depth 1
  downloadCmd: "pull --ff-only"

}

找到run1()方法, 在 cmd.Stderr = &buf 下添加两行, 如:

var buf bytes.Buffer
cmd.Stdout = &buf
cmd.Stderr = &buf
cmd.Stdout = os.Stdout // 重定向标准输出
cmd.Stderr = os.Stderr // 重定向标准输出
err = cmd.Run()

然后需要编译咯

GOROOT_BOOTSTRAP=/opt/go1.4 ./all.bash

至此就搞定了