谷歌插件protoc-gen-doc实现 proto转文档详细解坑

谷歌插件protoc-gen-doc实现 proto转文档详细解坑

背景

出于工作需求要求自己开发接口协议。为了尽快熟悉proto协议使用谷歌插件proto-gen-doc将proto转文档查看。(不得不说,确实方便,大大便捷了开发人员和非开发之间交流)

安装步骤

环境

protoc3.11.0 golang go1.12.10 ubuntu16

protobuf安装

https://github.com/google/protobuf

chmod 777 -R protobuf
cd protobuf
./autogen
./configure
make
make install
ldconfig

顺利完成(如果不幸make途中任何地方出现问题,一定要make clean清除干净之后重新进行)

protoc --version查看版本

protoc-gen-doc插件安装

https://github.com/pseudomuto/protoc-gen-doc

go get 获取项目安装

go get github.com/pseudomuto/proto-gen-doc/cmd/protoc-gen-doc

默认自动gopath下自动生成 protoc-gen-doc可执行文件免去编译过程

将可执行文件复制到path bin
protoc --plugin=protoc-gen-doc=./proto-gen-doc --doc_opt=markdown,protocol.md --doc_out=./doc ./*.proto集成插件,生成文档

解决go get 无法获取依赖包

package golang.org/x/sys/unix: unrecognized import path “golang.org/x/sys/unix” (https fetch: Get https://golang.org/x/sys/unix?go-get=1: dial tcp 216.239.37.1:443: connect: connection refused)

解决:
使用国内七牛云的go module镜像:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
或者使用阿里云go module国内镜像仓库
go env -w GO111MODULE=on
go env -w GOPROXY=https://morrors.aliyun.com/goproxy/,direct

中途遇到问题:

途中语道问题:
使用服务器git clone 某项目,
fatal:Out of memory,malloc failed(tried to allocate 2000000000 bytes)
解决:
sudo mkdir -p /opt/temp
sudo dd if-/dev/zero od=/opt/temp/swapfile bs=1M count=1024
sudo chmod 600 /opt/temp/swapfile
sudo mkswap /opt/temp/swapfile
sudo swapon .opt/temp/swapfile

你可能感兴趣的:(protobuf,proto插件,protoc-gen-doc,protoc,go)