windows安装protoc、protoc-gen-go、protoc-gen-go-grpc

文章目录

  • 一、 protoc
  • 二、protoc-gen-go
  • 三、protoc-gen-go-grpc

一、 protoc

1,下载:https://github.com/google/protobuf/releases

下载对应的protoc,注意选择windows

2,下好之后解压就行,然后把bin目录加入到环境变量即可

二、protoc-gen-go

网上很多资料说

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

但目前该模块已被弃用,继续使用该命令将出现错误,提示该库已经被弃用,让我们使用go get -u google.golang.org/protobuf/
在这里插入图片描述
当我们按新的方式go get -u google.golang.org/protobuf/后,编写好proto文件,然后执行protoc命令,又会出现如下错误
在这里插入图片描述

因此我们需要安装protoc-gen-go.exe可执行文件,当protoc命令执行时,当编译器调用时传递了 --go_out命令行标志时, protoc就会使用它。

  1. 下载:
git clone https://github.com/protocolbuffers/protobuf-go
  1. GoLand打开,到达.\cmd\protoc-gen-go\目录,执行go install .,如下
    在这里插入图片描述
  2. 此时,我们就可以在gopath路径下发现,产生了一个protoc-gen-go.exe文件,(ps:gopath路径可以通过go env命令查看)
    在这里插入图片描述
  3. 这时候再执行protoc命令,就能正常生成pb.go文件了
    在这里插入图片描述
    注意:test包是自动帮我们生成的,因为我们使用option go_package = "/test";指定生成的go代码的包名
    在这里插入图片描述

三、protoc-gen-go-grpc

protoc-gen-go-grpc 与 protoc-gen-go的安装步骤几乎一模一样,就是GitHub库不一样而已,因此就简要描述一下啦

git clone -b v1.30.0 https://github.com/grpc/grpc-go  #克隆项目
cd cmd/protoc-gen-go-grpc   #用GoLand打开后,进入到指定目录
go install .

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/209552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【异常】浅析异常体系及为什么一定会执行finally块代码

异常体系: (1)所有异常(Exception)、错误(Error)都继承自异常中的基类:Throwable。而异常又可以分为检查异常(Checked Exception)、非检查异常(Un…

msvcp100.dll丢失的常见原因/msvcp100.dll丢失的解决方法分享

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp100.dll丢失”。这个错误提示通常出现在运行某些程序或游戏时,给使用者带来了很大的困扰。那么,究竟是什么原因导致了msvcp100.dll文件的丢失呢?本…

ubuntu22.04在opencv4的基础上安装opencv3

安装opencv4 首先在ubuntu22.04上安装opencv4,可以参考之前的博客ubuntu22.04安装opencv4和opencv_contrib-CSDN博客 安装opencv3 由于有使用opencv3的需求,所以需要继续安装opencv3 ; 安装编译 这里安装的版本是opencv3.4.5,大致安装思…

STM32F1之CAN介绍

目录 ​编辑 1. CAN 是什么? 2. 总线拓扑图 3. CAN 的特点 4. CAN 协议的基本概念 1. CAN 是什么? CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO*1 国际标准化的串行通信协议。 在当前的汽车产…

javaWebssh学生系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh学生管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模 式开发。开发环境为TOMCAT7.0,My…

前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别

在 Web浏览器中存储数据以改善用户体验和提升Web应用程序性能是非常常见的。在大多数情况下,可供我们使用就是LocalStorage和SessionStorage。 本文中,我们将会从安全性和用户体验两个方面对SessionStorage和LocalStorage进行评估。然后我们将讨论如何根…

Linux驱动安装遇到的问题(Kernel configuration is invalid)(Invalid module format)

Linux驱动编译安装遇到的问题(Kernel configuration is invalid)(Invalid module format) 前言1. Kernel configuration is invalid2. Invalid module format2.1 第一种情况:内核模块编译的环境与现在insmod想要运行的…

python:mplfinance 画K线图+布林线

pip install mplfinance ; python 安装使用 TA-lib 安装主要在 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 这个网站找到 TA_Lib-0.4.24-cp310-cp310-win_amd64.whl pip install /pypi/TA_Lib-0.4.24-cp310-cp310-win_amd64.whl 编写 mpf_kline_boll.py 如下 # -*- cod…

英语口语练习(背诵老友记)

There is nothing to tell! 这没什么好说的! Hes just some guy I work with. 他不过是我的同事。 Cmon, youre going out with the guy! 少来了,你们都在约会了! Theres gotta be something wrong with him! 这个男人一定有什么问题&…

华为OD机试真题-快递员的烦恼-2023年OD统一考试(C卷)

题目描述: 快递公司每日早晨,给每位快递员推送需要送到客户手中的快递以及路线信息,快递员自己又查找了一些客户与客户之间的路线距离信息,请你依据这些信息,给快递员设计一条最短路径,告诉他最短路径的距离。 注意: 1. 不限制快递包裹送到客户手中的顺序,但必须保证都…

【VRTK】【VR开发】【Unity】12-占位身体

课程配套学习资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【概要】 目前你会发现,就算存在非Trigger Collider的墙壁屏障等,也能够正常穿过,这会导致不沉浸的体验。你需要一个占位身体来实现让墙壁等碰撞并挡住自己…

基于java的贪吃蛇小游戏

贪吃蛇游戏需要做两点:图形界面和游戏逻辑。在 Java 中,可以使用 Swing 或 JavaFX 来创建图形界面。下面代码创建了一个简单的 Swing 窗口,实现了一个基本的贪吃蛇游戏。在游戏中,使用方向键控制贪吃蛇的移动,吃到食物…

`Numpy`数组中 数据的修改(第10讲)

Numpy数组中 数据的修改(第10讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ…

YOLOv5独家原创改进:SPPF自研创新 | 可变形大核注意力(D-LKA Attention),大卷积核提升不同特征感受野的注意力机制

💡💡💡本文自研创新改进: 可变形大核注意力(D-LKA Attention)高效结合SPPF进行二次创新,大卷积核提升不同特征感受野的注意力机制。 收录 YOLOv5原创自研 https://blog.csdn.net/m0_63774211/category_12511931.html 💡💡💡全网独家首发创新(原创),适合p…

Python学习路线 - Python语言基础入门 - 函数使用

Python学习路线 - Python语言基础入门 - 函数使用 函数介绍函数函数的快速体验 函数的定义函数的定义 函数的参数函数的传入参数函数的传入参数 - 传参定义函数的传入参数 - 语法解析练习案例:升级版自动查询核酸 函数的返回值函数返回值的定义返回值的语法None类型…

Python----异常

1、什么是异常 当检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常"。 2、异常演示 # 运算符 # print(10/0) # 文件异常 f open(python.txt, r) content f.readlines() print(content) 3…

vue中el-upload结合vuedraggable实现图片的上传、排序、删除以及预览等功能

实现效果&#xff1a; 功能实现&#xff1a; 要实现图片的拖拽功能首先需要安装vuedraggable库 npm install vuedraggable --save在组件中引入并注册 vuedraggable <script>import draggable from "vuedraggable";export default {// 注册组件components: {…

SI24R03 高度集成低功耗SOC 2.4G 收发一体芯片

今天给大家介绍一款Soc 2.4G 收发一体模块-SI24R03 Si24R03是一款高度集成的低功耗无线SOC芯片&#xff0c;芯片为QFN32 5x5mm封装&#xff0c;集成了资源丰富的MCU内核与2.4G收发器模块&#xff0c;最低功耗可达1.6uA&#xff0c;极少外围器件&#xff0c;大幅降低系统应用成本…

详解Android单元测试最佳实践

目的 充分的单元测试就是提高代码质量最有效的手段之一&#xff0c;而单元测试严重依赖代码的可测试性&#xff0c;本文主要通过一个简单的DEMO演示如何对Android原生应用进行单元测试&#xff0c;同时示例代码采用MVP模式以提高代码的可读性和可测试性 简介 在Android原生应…

mmdetection测试保存到新的文件夹,无需标签

这个是用demo这个代码测试的&#xff0c;需要先训练一个pth文件夹&#xff0c;训练之后再调用pth文件夹进行测试。测试的代码文件名是&#xff1a;image_demo_new.py&#xff0c;代码如系所示&#xff1a; # Copyright (c) OpenMMLab. All rights reserved. import asyncio fr…