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 

克隆源码

git clone https://e.coding.net/robinqiwei/googleprotobuf.git

可以看到这个源码的目录结构就和刚才失败的那版源码不同了。

install

go install google.golang.org/protobuf/cmd/protoc-gen-go/

完成

你可能感兴趣的:(golang)