根据官方文档要求需要提供一下环境支持

go环境已经搭建成功了,上一篇文章安装了protoc编辑器,现在只需要安装所需插件即可。

1.安装grpc所需要的插件:protoc-gen-go、protoc-gen-go-grpcgo get google.golang.org/protobuf/cmd/protoc-gen-go \

google.golang.org/grpc/cmd/protoc-gen-go-grpc

执行上面命令之后会在 $GOPATH/bin目录生成protoc-gen-go,protoc-gen-go-grpc两个文件

2.更新环境变量,使用export命令或者编辑配置文件均可。方式一:使用export命令

export PATH="$PATH:$(go env GOPATH)/bin"方式二:编辑 ~/.bash_profile文件,在文件末尾添加 export PATH=$PATH:$GOROOT/bin

vim ~/.bash_profile

编辑配置文件之后,使用source命令使其生效source ~/.bash_profile

到此为止,理论上现在环境已经插件安装成功了,但是在使用的过程中仍然提示不支持protoc-gen-go插件。

最后发现在一篇文章找到原因了,protoc-gen-go的版本问题。参考文献:https://blog.csdn.net/kalulio...

3.重新安装protoc-gen-go插件,问题解决。go get github.com/golang/protobuf/protoc-gen-go

4.测试

查看项目目录

执行命令生成对应的brotobuf 文件protoc ./protobuf/*.proto --go_out=plugins=grpc:.

大功告成!

php brotobuf,用Golang构建gRPC服务相关推荐

  1. 用Golang构建gRPC服务

    本教程提供了Go使用gRPC的基础教程 在教程中你将会学到如何: 在.proto文件中定义一个服务. 使用protocol buffer编译器生成客户端和服务端代码. 使用gRPC的Go API为你的 ...

  2. 使用Golang搭建gRPC服务提供给.NetCore客户端调用

    gRPC概述 RPC 说到gRPC就不得不提RPC,所谓RPC(remote procedure call 远程过程调用)框架实际是提供了一套机制,使得应用程序之间可以进行通信,简单点来说就是我A机器 ...

  3. 使用Golang搭建gRPC服务提供给.NetCore调用

    文章目录 gRPC概述 RPC gRPC又是什么呢 安装 Golang IDE(Goland) Protocol Buffer 下载Protocal Buffer 配置Protocal Buffer编 ...

  4. grpc(3):使用 golang 开发 grpc 服务端和client

    1,关于grpc-go golang 能够能够做grpc的服务端和client. 官网的文档: http://www.grpc.io/docs/quickstart/go.html https://g ...

  5. 经济学人使用Golang构建微服务历程回顾

    关键点 经济学人内容分发系统需要更大的灵活性,将内容传递给日益多样化的数字渠道.为了实现这一灵活性目标并保持高水平的性能和可靠性,平台从一个单体结构过渡到微服务体系结构. 用Go编写的服务是新系统的一 ...

  6. golang 构建HTTP服务

    一个go最简单的Http服务器程序 package mainimport ("fmt""net/http" )func IndexHandler(w http. ...

  7. golang构建htpp服务

    1.简单实现 server package mainimport ("flag""net/http" )func main() {host := flag.St ...

  8. 深入浅出 gRPC 01:gRPC 服务端创建和调用原理

    目录 1. RPC 入门 1.1 RPC 框架原理 1.2 业界主流的 RPC 框架 1.3 gRPC 简介 1.3.1 gRPC 概览 1.3.2 gRPC 特点 2. gRPC 服务端创建 2.1 ...

  9. 从零开始构建gRPC的Go服务

    介绍 Protocol Buffers and gRPC是用于定义通过网络有效通信的微服务的流行技术.许多公司在Go中构建gRPC微服务,发布了他们开发的框架,本文将从gRPC入门开始,一步一步构建一 ...

最新文章

  1. SAP MM模块常用概念--供应商评价
  2. php access 插入,如何使用PHP將附件插入Access數據庫?
  3. python调用.net动态库
  4. 直接输入地址访问服务器上的静态资源
  5. Boost:与gz文件相关的操作实例
  6. 设计模式:桥接模式(Bridge Pattern)
  7. 距离算法在概率统计C语言,基于CBM-TOF探测器无触发数据获取系统的压缩算法-应用概率统计.PDF...
  8. 图论--最短路-- Dijkstra模板(目前见到的最好用的)
  9. android 多态如何组件化,Android组件化之子模块之间通信方案
  10. jQuery Portamento 滑动定位
  11. 敏捷开发免费管理工具——火星人预览之五:常见问题问答
  12. webpack 4.0 配置方法以及错误解决
  13. 【转】Prewitt 算子
  14. sps2013安装错误
  15. ZFAKA最新版最简安装教程
  16. 音视频开发系列(2)PCM音量控制(高级篇)
  17. 如何设置无线路由器提高迅雷下载速度
  18. 使用python实现新浪微博登陆
  19. python中字典的常用函数_Python字典(Dict)详解 - 常用函数详解
  20. 微信注册页面html实现,微信注册.html

热门文章

  1. 软件技术实习项目:实验三、迷宫游戏设计
  2. 【MDPI】全球最大 OA 出版商旗下所有期刊被拉入黑名单,包括 98 本 SCI 期刊
  3. PSSH 轻量化运维工具安装和使用
  4. android metal,魅蓝metal评测:金属机身/Flyme5.1系统
  5. opencv 脸部识别_实时面部识别如何与OpenCV一起使用?
  6. 联想台式主机拆机教程_联想z465怎么拆机 联想z465拆机教程【图文详解】
  7. 项目管理-功能数据流程图
  8. 车辆预期功能安全标准21448笔记(七)
  9. 成功实施SOA:从物理排列到化学反应
  10. 佳博Gprinter EVA G 打印机驱动