Mac下环境搭建(用brew安装go和protoc)

Mac下brew安装软件是我的个人习惯,brew安装不用去.zsh配置环境变量,安装完之后自动就在/usr/local/Cellar/go

  • brew install go

一. 配置全局环境变量

  • vim ~/.zshrc, 追加以下内容
  • # brew
  • export PATH=/opt/homebrew/bin:$PATH
  • # Go
  • export http_proxy="http://127.0.0.1:12639"
  • export https_proxy="http://127.0.0.1:12639"
  • export no_proxy=localhost,127.0.0.1,.qq.com,.tencent.com

二. brew安装grpc和go

1. 安装grpc核心库

安装的是 gRPC 的核心库

2. 安装的是protocol编译器

brew install protobuf

3. 各个语言的代码生成工具,对于 Golang 来说,称为 protoc-gen-go

brew install protoc-gen-go

brew install protoc-gen-go-grpc

4. 总结:不想理解的话四行命令一起执行,然后去喝杯茶等会再回来就OK

  • brew install grpc
  • brew install protobuf
  • brew install protoc-gen-go
  • brew install protoc-gen-go-grpc

安装完后我的本地版本如下:

  • ➜ ~ go version
  • go version go1.17.2 darwin/amd64
  • ➜ ~ protoc --version
  • libprotoc 3.17.3
  • ➜ ~ protoc-gen-go --version
  • protoc-gen-go v1.27.1

5. 实战:

image.png

接下来用命令

  • protoc --go_out=. demo_service.proto
  • protoc --go-grpc_out=. demo_service.proto

执行完是

image.png

若报错:

image.png

可在proto文件中添加如下行 意为指定pb文件的生成路径

  • option go_package ="./";
  • //如果加入该语句,会覆盖掉之前的package MedBaike;(该语句作用:在生成的pb.go文件指明所属包名),导致包名错误
  • //此时可以写为option go_package ="./;MedBaike";(分号前指明文件生成所在目录,分号后指明所属包名)

demo_service.proto变为

  • syntax = "proto3";
  • option go_package ="./;MedBaike";
  • package MedBaike;
  • message GetSchemeReq
  • {
  • string path = 1; //目录列表数量
  • }
  • message GetSchemeResp
  • {
  • string data = 1; //帖子数量
  • }
  • service DemoService
  • {
  • // demo
  • rpc GetScheme (GetSchemeReq) returns (GetSchemeResp);
  • }

参考资料

  1. gRPC-go 入门(1):Hello World
本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
<<上一篇
下一篇>>