protoc安装使用(学习笔记,不作教程)

文章讲述了如何在Windows和Linux环境下下载并安装protoc,以及如何解决在编译Go语言工具包时遇到的问题。通过设置环境变量、下载protoc-gen-go并执行相关命令,成功生成.pb.go文件。

下载protoc

window

https://github.com/protocolbuffers/protobuf/releases/tag/v3.19.4
在这里插入图片描述
并且指定环境变量或者把protoc.exe放在gopath的bin目录下则可以不指定环境变量在这里插入图片描述

linux

下载地址
https://github.com/protocolbuffers/protobuf/releases/download/v3.20.1/protoc-3.20.1-linux-x86_64.zip

//解压缩
unzip protoc-3.20.1-linux-x86_64.zip
 cd bin
 sudo mv protoc /home/go/bin/
 cd ../include/
 sudo mv google/ /usr/local/include/

在这里插入图片描述

vi /etc/profile

加入export PATH=$PATH:/home/go/bin

source /etc/profile:

在这里插入图片描述

编译go语言的工具包

这个protoc可以将proto文件编译为任何语言的文件,想要编译为go语言的,还需要下载另外一个可执行文件

命令是这样的:

go install google.golang.org/ProtoBuf/cmd/protoc-gen-go@latest

//用这个不会报错
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
(成功的话不用下面的解决办法)

但是我这样会报错()

解决办法如下

在gopanth的src下新建google.golang.org/protobuf目录
然后git bash 执行

git clone https://github.com/protocolbuffers/protobuf-go

然后把克隆下来的东西剪切放在上一级目录。然后把protobuf-go目录删掉
在这里插入图片描述
在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/d6ee7aa6c28b44e49e09d215ab8dce68.png
然后再执行

go get -u github.com/golang/protobuf/protoc-gen-go

就会在gopath/bin目录下生成
在这里插入图片描述

编写protoc代码

syntax = "proto3";

package hello;

option go_package = "./;hello";

message Say{
  int64           id    = 1;
  string          hello = 2;
  repeated string word  = 3;
}

在这里插入图片描述
执行

protoc --go_out=. hello.proto

在这里插入图片描述
可以看到生成了.pb.go文件

### Protoc 安装指南 ProtocProtocol Buffers 的编译器,用于将 `.proto` 文件编译成多种编程语言的代码。以下是不同操作系统上安装 Protoc 的详细指南: #### 1. 在 macOS 上安装 Protoc 在 macOS 上可以通过 Homebrew 轻松安装 Protoc。以下是具体步骤: - 使用以下命令安装 Protoc 和相关插件: ```bash brew install protobuf brew install grpc brew install protoc-gen-go brew install protoc-gen-go-grpc ``` - 验证安装是否成功: ```bash protoc --version protoc-gen-go --version protoc-gen-go-grpc --version ``` 输出示例: ``` libprotoc 3.19.4 protoc-gen-go v1.28.0 protoc-gen-go-grpc 1.2.0 ```[^2] #### 2. 在 Windows 上安装 Protoc 在 Windows 上安装 Protoc 的步骤如下: - 访问官方下载页面并选择适合的版本进行下载[^4]。 - 下载完成后解压文件,并将 `bin` 目录中的 `protoc.exe` 复制到 `C:\Windows\System32` 文件夹下。 - 打开命令提示符,输入以下命令验证安装: ```cmd protoc --version ``` 如果显示版本信息,则说明安装成功。 #### 3. 在 Linux 上安装 Protoc 在 Linux 上可以使用包管理工具或手动安装 Protoc: - 使用包管理工具(如 Ubuntu 的 apt): ```bash sudo apt-get update sudo apt-get install -y protobuf-compiler ``` - 验证安装: ```bash protoc --version ``` #### 4. 配置环境变量 无论在哪种操作系统上安装 Protoc,都需要确保其路径已正确配置到系统的环境变量中。例如,在 macOS 和 Linux 上可以通过编辑 `.bashrc` 或 `.zshrc` 文件添加以下内容: ```bash export PATH=$PATH:/usr/local/bin/protoc ``` 在 Windows 上则需要通过系统设置添加 `C:\Windows\System32` 到 PATH 中。 #### 5. 安装 Protobuf 插件以生成 Java 代码 为了生成 Java 代码,需要安装 `protoc-gen-java` 插件。以下是步骤: - 下载对应平台的二进制文件[^1]。 - 将二进制文件放置在系统 PATH 中。 - 编写一个简单的 `.proto` 文件,并使用以下命令生成 Java 代码: ```bash protoc --java_out=./output your_file.proto ``` ### 示例:定义 gRPC 服务并生成代码 假设有一个简单的 `.proto` 文件: ```proto syntax = "proto3"; service Greeter { rpc SayHello (HelloRequest) returns (HelloReply); } message HelloRequest { string name = 1; } message HelloReply { string message = 1; } ``` 使用以下命令生成 Java 代码: ```bash protoc --java_out=./output your_file.proto ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值