首页 > 其他分享 >golang grpc编译工具的安装

golang grpc编译工具的安装

时间:2023-03-20 10:45:30浏览次数:54  
标签:protoc grpc golang 编译 version go 安装 gen

本次安装前提是已经安装go环境,我的环境是ubuntu20.04。

安装环境主要是:

  • protoc
  • protoc-gen-go
  • protoc-gen-go-grpc

1.编译器:protoc的安装

参考官方安装方式,
方式一
如果你是ubuntu类似的系统,

$ apt install -y protobuf-compiler
$ protoc --version  # Ensure compiler version is 3+

方式二
手动下载二进制编译包,解包后设置个环境变量即可:

$ PB_REL="https://github.com/protocolbuffers/protobuf/releases"
$ curl -LO $PB_REL/download/v3.15.8/protoc-3.15.8-linux-x86_64.zip

# 可解压缩到你的文件位置,比如我放在 /usr/local/protoc
$ unzip protoc-3.15.8-linux-x86_64.zip -d $HOME/.local

# 直接export只对当前窗口有效,建议至少设置针对本用户,或者其他用户永久有效
# 比如本用户永久有效,将下面命令添加到 ~/.bashrc后,再source ~/.bashrc即可
$ export PATH="$PATH:$HOME/.local/bin"

# 验证
protoc --version

2.编译器go语言插件:protoc-gen-go/protoc-gen-go-grpc

我的go环境是go 1.19版本,现在比较多都是用install命令,所以我们建议安装命令如下:

# protoc-gen-go插件:用于生成xx.pb.go文件
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest

# protoc-gen-go-grpc插件:用于生成xx_grpc.pb.go文件
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

# 由于go install默认安装到GOPATH中,注意提前设置下环境变量
# 针对本用户永久有效的环境变量设置
vi ~/.bashrc
---
export PATH=$PATH:/$GOPATH/bin
---

source ~/.bashrc

# 查看命令
protoc-gen-go --version
# protoc-gen-go v1.28.1
protoc-gen-go-grpc --version
# protoc-gen-go-grpc 1.3.0

到此go的grpc环境已经准备好了。

标签:protoc,grpc,golang,编译,version,go,安装,gen
From: https://www.cnblogs.com/davis12/p/17235468.html

相关文章

  • 使用 GVM 搭建可维护的 Golang 开发环境
    当你想完成Golang开发环境的便捷安装以及随时更新和保障多个版本的Golang共存的时候,就需要使用到Golang的专门版本管理工具——gvm本篇随笔记录了在Ubunt......
  • Golang之Ginkgo、Gomega测试框架
    命令:BootstrappingaSuite(cdpath/to/books ginkgobootstrap)AddingSpecstoaSuite(ginkgogeneratebook)ExecuteTest(gotest或ginkgo)介绍:导入Ginkgo和Gomega包时......
  • 1随堂练习【编译原理】
    课堂测试【编译原理】​​前言​​​​推荐​​​​课堂测试​​​​课前测03-01​​​​课后练习03-01​​​​课后复习03-08​​​​课前热身03-13​​​​最后​​前言20......
  • Golang 整洁架构实践
    了解过Hex六边形架构、Onion洋葱架构、Clean整洁架构的同学可以将本篇文章介绍的实践方法与自身项目代码架构对比并互通有无,共同改进。没了解过上述架构的同学可以学......
  • 嵌入式开发中常用的条件编译
    条件编译命令常见形式:1#ifdef标识符2程序段13#else4程序段25#endif作用:当标识符被#define定义过,则对程序段1进行编译,否则编译程序段2。常用形式2:#ifndef......
  • docker 容器内 安装nginx ./configure 编译出错问题
    ./configure:error:Ccompilerccisnotfound解决办法aptinstallg++./configure:error:theHTTPrewritemodulerequiresthePCRElibrary.解决办法......
  • 实验一 密码引擎-1-OpenEuler-OpenSSL编译
    任务详情安装Ubuntu和OpenEuler虚拟机下载最新的OpenSSL源码(1.1版本)用自己的8位学号建立一个文件夹,cd你的学号,用pwd获得绝对路径参考https://www.cnblogs.com/roc......
  • 交叉编译
    一、交叉编译概念 交叉编译链1.安装官网https://github.com/raspberrypi/tools   2unziptools-master.zip,解压文件,然后进入文件夹进入文件夹就可以看下是......
  • golang gin框架
    gin:一个快速的httpwebframework,基于httprouter封装的,包含了日志处理、错误返回、验证处理、数据格式返回、文件上传、websocket支持、clientip支持、cookie支持。服务入口......
  • golang  实现 sync.WaitGroup wait() 方法 超时 自动释放
    思路是把wg.wait()放到一个协程里,通过chan向外发送完成信号。外层通过一个select超时结构来控制最大超时时间。funcwaitTimeout(wg*sync.WaitGroup,timeouttime.Du......