需要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/
完成
推荐阅读
- 【golang】leetcode中级-字母异位词分组&无重复字符的最长子串
- 彻底理解Golang Map
- kratos线上开源年会它来啦~
- 深入浅出 Golang 资源嵌入方案(go-bindata篇)
- 深入浅出 Golang 资源嵌入方案(前篇)
- golang 经典案例总结
- Go实战 | 基于有向无环图的并发执行流的实现
- Golang 数组和切片
- Go JSON编码与解码()
- golang map基础知识