go get github.com/golang/protobuf/protoc-gen-go的问题

需要go的protoc-gen-go,但是因为golang被墙,go get github.com/golang/protobuf/protoc-gen-go的时候总是timeout。(但是如果你锲而不舍一遍一遍试,也是有可能能下下来的)
一次失败的尝试
我的上一篇博客写了先通过github下载源码,然后go install的方式。我的这次没有成功的尝试正是用的这个方法。
在$GOPATH/src/golang.org/下 git clone https://github.com/golang/protobuf.git确实能下载下来源码,但是在随后的go install就会发现报错是找不到package。
找不到package很常见,但是你会发现它给出的路径是google.golang.org/protobuf/cmd/protoc-gen-go,不仅源码不是在google.golang.org,而且在源码/protobuf下根本没有cmd。
成功的方法
首先给源码准备一个正确的地方

mkdir -p $GOPATH/src/google.golang.org cd $GOPATH/src/google.golang.org

【go get github.com/golang/protobuf/protoc-gen-go的问题】克隆源码
git clone https://e.coding.net/robinqiwei/googleprotobuf.git

可以看到这个源码的目录结构就和刚才失败的那版源码不同了。
install
go install google.golang.org/protobuf/cmd/protoc-gen-go/

完成

    推荐阅读