当前位置: 首页 > news >正文

gRPC - Protocol Buffer 编译器安装

文章目录

  • Protocol Buffer 编译器安装
    • 如何安装 Protocol Buffer 编译器
    • 使用包管理器安装
      • Linux 上,使用 apt 或 apt-get,例如:
      • macOS 上,使用 Homebrew:
    • 安装预编译的二进制文件(任何操作系统)
    • 其他安装选项

Protocol Buffer 编译器安装

如何安装 Protocol Buffer 编译器

虽然不是强制性的,但 gRPC 应用程序通常利用 Protocol Buffers 进行服务定义和数据序列化。本文大部分示例代码使用的是 Protocol Buffer 语言的第 3 版(proto3)。

Protocol Buffer 编译器 protoc 用于编译包含服务和消息定义的 .proto 文件。选择以下方法之一来安装 protoc。

使用包管理器安装

你可以在 Linux 或 macOS 上使用包管理器安装 Protocol Buffer 编译器 protoc,使用以下命令。

警告

安装后请检查 protoc 的版本(如下面所示),以确保版本足够新。一些包管理器安装的 protoc 版本可能相当旧。

从预编译的二进制文件安装(如下节所述)是确保使用最新版本的 protoc 的最佳方法。

Linux 上,使用 apt 或 apt-get,例如:

$ apt install -y protobuf-compiler
$ protoc --version  # 确保编译器版本是 3+

macOS 上,使用 Homebrew:

$ brew install protobuf
$ protoc --version  # 确保编译器版本是 3+

安装预编译的二进制文件(任何操作系统)

要从预编译的二进制文件安装最新版本的 Protocol Buffer 编译器,请按照以下说明操作:

  1. 从 github.com/google/protobuf/releases 手动下载对应你的操作系统和计算机架构的 zip 文件(protoc-<version>--.zip),或使用以下命令获取文件:
    $ PB_REL="https://github.com/protocolbuffers/protobuf/releases"
    $ curl -LO $PB_REL/download/v25.1/protoc-25.1-linux-x86_64.zip
    
  2. 将文件解压到 $HOME/.local 或你选择的目录。例如:
    $ unzip protoc-25.1-linux-x86_64.zip -d $HOME/.local
    
  3. 更新环境的 PATH 变量以包含 protoc 可执行文件的路径。例如:
    $ export PATH="$PATH:$HOME/.local/bin"
    

其他安装选项

如果你想从源码构建 Protocol Buffer 编译器,或访问旧版本的预编译二进制文件,请参阅 Download Protocol Buffers。


gone是我开发的一个golang依赖注入框架,编写web服务器超级方便,麻烦帮忙点个赞吧?
gone的项目地址:https://github.com/gone-io/gone

相关文章:

gRPC - Protocol Buffer 编译器安装

文章目录 Protocol Buffer 编译器安装如何安装 Protocol Buffer 编译器使用包管理器安装Linux 上&#xff0c;使用 apt 或 apt-get&#xff0c;例如&#xff1a;macOS 上&#xff0c;使用 Homebrew&#xff1a; 安装预编译的二进制文件&#xff08;任何操作系统&#xff09;其他…...

【Linux】centos7下载安装Python3.10,下载安装openssl1.1.1

目录 centos7下载安装Python&#xff08;版本3.10.14&#xff09; &#xff08;1&#xff09;网页下载python压缩包&#xff0c;并解压缩 &#xff08;2&#xff09;编译安装 Python在make altinstall时&#xff0c;报错及解决 &#xff08;3&#xff09;将安装目录和可执…...

通过 python 操作mongodb

库引入 Python 要连接 MongoDB 需要 MongoDB 驱动&#xff0c;这里我们使用 PyMongo 驱动来连接。 import pymongo 链接数据库 创建数据库需要使用 MongoClient 对象&#xff0c;并且指定连接的ip和端口号。 myclientpymongo.MongoClient("localhost",27017)#连接…...

若依框架对于后端返回异常后怎么处理?

1、后端返回自定义异常serviceException 2、触发该异常后返回json数据 因为若依对请求和响应都封装了&#xff0c;所以根据返回值response获取不到Code值但若依提供了一个catch方法用来捕获返回异常的数据 3、处理的方法...

vs code怎么补全路径,怎么快捷输入文件路径

安装插件&#xff1a; 链接&#xff1a;https://marketplace.visualstudio.com/items?itemNamejakob101.RelativePath 使用 按住 Ctrl Shift H&#xff0c;弹出窗口&#xff0c;输入文件补全&#xff0c;回车就可以了 排除文件 如果你的项目下文件太多&#xff0c;它会…...

git分支开发主干合并流程

文章目录 一、分支开发二、主干合并三、删除合并过的分支 一、分支开发 创建分支git branch <分支名> # git branch my_new_branch开发后提交代码git commit -m 本次开发内容 # git commit -m 增加登录保持功能同步远端仓库git push origin <分支名> # git push o…...

01Python相关基础学习

Python基础 模块相关导入模块sys模块 模块相关 导入模块 1. import 模块名 2. import 模块名 as 别名 3. from 模块名 import 成员名 as 别名sys模块 1. sys.argv 介绍: 实现从程序的外部想程序传递参数返回的是一个列表,第一个元素是程序文件名,第二个元素是程序外部传入的…...

InTouch历史报警、历史事件按时段查询,导出

简介&#xff1a;本插件基于上位机组态InTouch的历史报警、操作记录而开发 适用InTouch版本&#xff1a;不限 适用Windows系统&#xff1a;不限 适用数据库&#xff1a;SQL Server 标记名点数&#xff1a;不限 配套软件安装&#xff1a;Excel、WPS、SQL Server 功能&…...

网络攻防概述(基础概念)

文章目录 APTAPT概念APT攻击过程 网络空间与网络空间安全网络空间(Cyberspace)网络空间安全(Cyberspace Security) 网络安全属性机密性(Confidentiality或Security)完整性(Integrity)可用性&#xff08;Availability&#xff09;不可否认性&#xff08;Non-repudiation&#xf…...

了解Java垃圾收集

Java 的垃圾收集机制在 Java 应用程序开发中至关重要。此机制对于通过消除不再使用的对象来释放内存空间得过程来说至关重要。在这篇文章中&#xff0c;我带大家深入了解下 Java 垃圾收集的机制&#xff0c;并探索其工作原理、优点以及实现最佳性能的最佳实践。 1.什么是 Java…...

快速搭建 WordPress 外贸电商网站指南

本指南全面解析了在 Hostinger 平台上部署 WordPress 外贸电商网站的详细步骤&#xff0c;涵盖托管方案选择、WordPress 一键安装、主题挑选与演示数据导入、主题个性化定制、SEO插件插件 AIOSEO 安装、通过 GTranslate 实现多语言自动翻译、地区访问控制插件&#xff0c;助力用…...

网络编程 —— Http进度条

第一种下载带进度的方法 string url "https://nodejs.org/dist/v20.10.0/node-v20.10.0-x64.msi"; 1使用getASync获取服务器响应数据 参数1请求的路径&#xff0c; 参数2 HttpCompletionOption.ResponseHeadersRead 请求完成时候等待请求带什么程度才…...

5月26(信息差)

&#x1f30d; 珠峰登顶“堵车”后冰架断裂 5人坠崖 2人没爬上来&#xff01; 珠峰登顶“堵车”后冰架断裂 5人坠崖 2人没爬上来&#xff01; &#x1f384; Windows 11 Beta 22635.3646 预览版发布&#xff1a;中国大陆地区新增“微软电脑管家”应用 ✨ 成都限购解除即将满…...

【Redis】持久化操作详解

Redis 持久化操作详解 Redis 实现持久化的时候&#xff0c;具体是按照什么样的策略来实现的呢&#xff1f; Redis支持两种方式的持久化&#xff0c;一种是RDB方式、另一种是AOF&#xff08;append-only-file&#xff09;方式&#xff0c;两种持久化方式可以单独使用其中一种&…...

C#调用HttpClient.SendAsync报错:System.Net.Http.HttpRequestException: 发送请求时出错。

C#调用HttpClient.SendAsync报错&#xff1a;System.Net.Http.HttpRequestException: 发送请求时出错。 var response await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancellationToken);问题出在SSL/TLS&#xff0c;Windows Server 2012不支持…...

大模型基础知识

文章目录 1. 位置编码1.1 绝对位置编码1.2 相对位置编码1.3 旋转位置编码2. 注意力机制2.1 MHA(muti head attention)2.2 MQA(muti query attention)2.3 GQA(grouped query attention)3. 大模型分类4. 微调方法4.1 Prompt Tuning4.2 Prefix Tuning4.3 Lora4.4 QLora5. La…...

时间序列预测模型实战案例(三)(LSTM)(Python)(深度学习)时间序列预测(包括运行代码以及代码讲解)

目录 引言 LSTM的预测效果图 LSTM机制 了解LSTM的结构 忘记门 输入门 输出门 LSTM的变体 只有忘记门的LSTM单元 独立循环(IndRNN)单元 双向RNN结构(LSTM) 运行代码 代码讲解 引言 LSTM&#xff08;Long Short-Term Memory&#xff09;是一种常用的循环神经网络&a…...

[8] CUDA之向量点乘和矩阵乘法

CUDA之向量点乘和矩阵乘法 计算类似矩阵乘法的数学运算 1. 向量点乘 两个向量点乘运算定义如下&#xff1a; #真正的向量可能很长&#xff0c;两个向量里边可能有多个元素 (X1,Y1,Z1) * (Y1,Y2,Y3) X1Y1 X2Y2 X3Y3这种原始输入是两个数组而输出却缩减为一个(单一值)的运…...

音视频开发9 FFmpeg 解复用框架说明,重要知识点

一&#xff0c;播放器框架 二 常用音视频术语 容器&#xff0f;文件&#xff08;Conainer/File&#xff09;&#xff1a; 即特定格式的多媒体文件&#xff0c; 比如mp4、flv、mkv等。 媒体流&#xff08;Stream&#xff09;&#xff1a; 表示时间轴上的一段连续数据&#xff0…...

抖音小店出单之后怎么发货?抖店详细发货流程来了

大家好&#xff0c;我是喷火龙。 抖音小店发货是有规则的&#xff0c;如果出现超时发货或者虚假发货都会被平台处罚的&#xff0c;会影响我们店铺的评分和正常运营&#xff0c;还有些小伙伴们在发货的时候会遇到平台的违规提醒等问题。 今天我就给大家讲一下抖音小店的发货流…...

SAP ABAP实战:用cl_md_bp_maintain批量维护客户BP,附完整代码与字段拆分逻辑

SAP ABAP实战&#xff1a;基于cl_md_bp_maintain的客户主数据批量处理框架 在SAP系统集成项目中&#xff0c;客户主数据的批量创建与更新是高频需求场景。当需要对接电商平台、CRM系统或进行历史数据迁移时&#xff0c;传统单条处理方式效率低下且难以保证数据一致性。本文将深…...

通过Taotoken模型广场对比不同模型在代码生成任务上的效果与成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过Taotoken模型广场对比不同模型在代码生成任务上的效果与成本 对于开发者而言&#xff0c;选择合适的代码生成模型需要在效果、…...

5分钟搞定B站视频下载:免费解锁大会员4K高清画质

5分钟搞定B站视频下载&#xff1a;免费解锁大会员4K高清画质 【免费下载链接】bilibili-downloader B站视频下载&#xff0c;支持下载大会员清晰度4K&#xff0c;持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还在为无法离线观看B站精…...

WeChatExporter:基于Node.js的iOS微信聊天记录解析与导出方案

WeChatExporter&#xff1a;基于Node.js的iOS微信聊天记录解析与导出方案 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 在移动应用数据管理领域&#xff0c;iOS系统的沙…...

OpenCore Legacy Patcher终极指南:三步让老Mac焕发新生,轻松运行最新macOS

OpenCore Legacy Patcher终极指南&#xff1a;三步让老Mac焕发新生&#xff0c;轻松运行最新macOS 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为老旧…...

如何高效使用开源视频下载插件:专业用户的终极指南

如何高效使用开源视频下载插件&#xff1a;专业用户的终极指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper VideoDownloadHelper是一款专为…...

ElevenLabs青少年语音TTS效果对比测试:12款竞品横评,仅2家通过COPPA 3.0儿童语音伦理认证

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;ElevenLabs青少年语音TTS的技术定位与伦理边界 ElevenLabs推出的青少年语音合成&#xff08;Teen Voice TTS&#xff09;并非简单的声音风格扩展&#xff0c;而是基于多说话人自监督表征学习与音色解耦建模的高…...

Windows平台PDF处理终极指南:Poppler for Windows让你告别复杂编译

Windows平台PDF处理终极指南&#xff1a;Poppler for Windows让你告别复杂编译 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 还在为Windows系统上…...

别再重复造轮子了!这个开源论坛小程序(Java+Uniapp)一套代码搞定 App/小程序/H5/PC,私域流量神器

你是否有过这些想法&#xff1f; 我想做个类似“知识星球”的圈子小程序&#xff0c;但外包报价动辄 5 万起…… 公司要做私域社区&#xff0c;需要同时支持微信小程序和 App&#xff0c;难道要养两个开发团队&#xff1f; 想靠“付费帖子 会员 打赏”变现&#xff0c;去哪…...

质谱仪核心部件与色谱联用技术全解析:从原理到实战应用

1. 质谱分析&#xff1a;从“称重”分子到解码物质世界在化学、生物、医药乃至环境科学领域&#xff0c;我们常常需要回答一个看似简单却至关重要的问题&#xff1a;这个东西到底是什么&#xff1f;它由什么组成&#xff1f;含量有多少&#xff1f;面对一瓶成分不明的液体、一块…...