protoc & protoc-gen-go安装

前言

protoc是一款用C++编写的工具,其可以将proto文件翻译为指定语言的代码。在go-zero的微服务中,我们采用grpc进行服务间的通信,而grpc的编写就需要用到protoc和翻译成go语言rpc stub代码的插件protoc-gen-go。

本文演示环境

  • mac OS
  • protoc 3.14.0

protoc安装

  • 进入protobuf release 页面,选择适合自己操作系统的压缩包文件
  • 解压protoc-3.14.0-osx-x86_64.zip并进入protoc-3.14.0-osx-x86_64
    1. $ cd protoc-3.14.0-osx-x86_64/bin
  • 将启动的protoc二进制文件移动到被添加到环境变量的任意path下,如$GOPATH/bin,这里不建议直接将其和系统的一下path放在一起。
    1. $ mv protoc $GOPATH/bin

    [!TIP] $GOPATH为你本机的实际文件夹地址

  • 验证安装结果

    1. $ protoc --version
    1. libprotoc 3.14.0

    protoc-gen-go安装

  • 下载安装protoc-gen-go

    1. $ go get -u github.com/golang/protobuf/protoc-gen-go@v1.3.2
    1. go: found github.com/golang/protobuf/protoc-gen-go in github.com/golang/protobuf v1.4.3
    2. go: google.golang.org/protobuf upgrade => v1.25.0
  • 将protoc-gen-go移动到被添加环境变量的任意path下,如$GOPATH/bin,由于go get后的二进制本身就在$GOPATH/bin目录中,因此只要确保你的$GOPATH/bin在环境变量即可。

**[!WARNING] protoc-gen-go安装失败请阅读常见错误处理