go-grpc-rest环境搭建

终南山下007 · · 428 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

  1. 安装protoc

下载:https://github.com/protocolbuffers/protobuf

设置环境变量

  1. 安装gogoproto

go get -u github.com/gogo/protobuf/..

  1. 安装grpc-gateway

go get -u github.com/grpc-ecosystem/grpc-gateway

go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2
go install google.golang.org/protobuf/cmd/protoc-gen-go
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc

  1. 脚本文件genproto.sh
#!/usr/bin/env bash
#
# Generate all etcd protobuf bindings.
# Run from repository root.
#
set -e

# directories containing protos to be built
DIRS="./pb"

# disable go mod
export GO111MODULE=off

# set up self-contained GOPATH for building
GOPATH="/usr/local/go"
GOGOPROTO_ROOT="$GOPATH/src/github.com/gogo/protobuf"
GOGOPROTO_PATH="$GOPATH/src/github.com/gogo/protobuf/protobuf"
GRPC_GATEWAY_ROOT="$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway"
GATEWAY_FILE_PATH="gw"

for dir in ${DIRS}; do
  pushd "${dir}"
  mkdir -p ${GATEWAY_FILE_PATH}
  protoc --gogofast_out=plugins=grpc:. -I . -I ${GOPATH}/src -I ${GOGOPROTO_PATH} -I ${GOGOPROTO_ROOT} --grpc-gateway_out ${GATEWAY_FILE_PATH} ./*.proto
  sed -i.bak -E 's/_ \"google\/api\"/_ \"google\.golang\.org\/genproto\/googleapis\/api\/annotations\"/g' ./*.pb.go
  rm -f ./*.bak
  goimports -w ./*.pb.go
  popd
done

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:终南山下007

查看原文:go-grpc-rest环境搭建

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

428 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传