go debug日记:protoc -I . helloworld.proto --go_out=plugins=grpc:.错误debug

go语言中的gRPC(一) gRPC简单模式使用 阅读详情

使用protoc生成go的文件出现bug
运行命令

protoc -I . helloworld.proto --go_out=plugins=grpc:.

如图所示
在这里插入图片描述

即,没有指定生成的go文件位置,需要在文件中添加

option go_package="path;name";

其中
path 表示生成的go文件的存放地址,会自动生成目录的。
name 表示生成的go文件所属的包名

之后运行

protoc -I . helloworld.proto --go_out=plugins=grpc:.

又报错

在这里插入图片描述
在较新的版本的 protoc-gen-go 和 protoc-gen-go-grpc 插件中,gRPC 相关的 Go 代码不再通过 –go_out=plugins=grpc 这种方式生成,而是通过两个独立的命令生成:

--go_out 用来生成常规的 Go 代码(例如消息的 Go 结构体)。
--go-grpc_out 用来生成与 gRPC 相关的代码(例如 gRPC 服务的客户端和服务器代码)。

所以使用

protoc -I . helloworld.proto --go_out=. --go-grpc_out=.

运行成功,生成helloworld.pb.go文件
在这里插入图片描述

Protobuf 介绍与实战7:protoc --go_out命令介绍   1  go grpc-go 相关技术专栏 总入口   2  Protobuf介绍与实战 图文专栏 文章目录 1、—go_out 大概有几个子参数 不输入任务参数的情况 import_path参数,自定义待编译文件生成后的包名 module参数 更新生成代码的子路径 paths参数 设置编译好的代码路径 annotate_code参数,生成注解 M 参数,自定义proto文件编译后的import路径 分享一个小经验: -I,参数用来设置protoc编译时的相对路径的入口,可以设置多个。 其他路径相关 阅读详情

相关推荐

手把手教你用TLP350驱动IGBT:光耦隔离驱动电路完整设计教程

本文详细介绍了如何使用TLP350光耦隔离驱动电路设计IGBT驱动方案。从TLP350芯片特性分析到驱动电路架构设计,包括信号调理、自举电源和栅极控制网络,再到PCB布局优化和保护电路设计,提供了完整的实战指南。通过实测波形分析和故障排查,帮助工程师快速掌握IGBT驱动电路的设计要点和进阶技巧。

weixin_30566063的博客 825

golang入门笔记——gRPC

实例://指定的当前proto语法的版本,有2和3 syntax = "proto3";path 表示生成的go文件的存放地址,会自动生成目录的name表示生成的go文件所属包名//指定等会文件生成出来的package//消息传输的对象}product.go//实现具体的业务逻辑 stock := p . GetStockById(request . ProdId) return & main . ProductResponse {service.go= nil {

qq_43716830的博客 1601

腾讯地图自定义瓦片地图开发实战:从坐标定位到图层融合

本文详细介绍了腾讯地图自定义瓦片地图开发的全流程,从坐标定位到图层融合的实战技巧。通过具体代码示例和常见问题解决方案,帮助开发者快速掌握腾讯地图API的自定义瓦片功能,实现室内外地图的无缝衔接和特殊图层的叠加展示。

weixin_42526015的博客 171

使用protoc编译.proto文件生成go文件

只会生成一个pb.go文件,既可以作为client也可以作为server。在当前目录生成pb.g和grpc.go文件。

ydl1128的博客 2065

禾赛PandarXT-16/阿努比LpmsIG1运行lio-sam

课题是多传感器融合,将GNSS/INS/LIDAR做融合定位导航,故考虑使用lio-sam开源算法,在此记录一下我在适配传感器数据时遇到的一些问题;

qq_44705939的博客 2962

CentOS Stream 9中安装MySQL的详细步骤

本文详细介绍了在CentOS Stream 9系统中如何进行MySQL的在线安装、离线安装以及忘记密码的恢复操作。通过阅读本文,您将能够了解并掌握在CentOS Stream 9上安装MySQL的步骤,以及在遇到忘记密码的情况下的解决方案。

小白典的博客 7258

go grpc使用教程windows

gRPC 是一个高性能、通用的开源 RPC 框架。

专注于Python编程技术的分享与交流,致力于帮助开发者提升编程技能,解决实际问题,探索Python的无限可能。 1912

基于AI的智能开发环境—Trae在Web开发中的应用实战与性能评估【Trae项目实战】

Trae 是一款与 AI 深度集成的开发工具,提供智能问答、代码自动补全和基于 Agent 的 AI 自动编程能力,极大提升开发效率。它具备完备的 IDE 功能,如代码编写、项目管理和源代码管理等,同时还具备强大的 AI 助手,能够提供智能问答、实时代码建议、代码片段生成等服务。开发者可以通过自然语言与 AI 协作,从 0 到 1 开发项目,AI 会根据需求自动生成代码或创建文件。

一键难忘的博客 3万+

grpc生成go文件命令

标题: grpc生成go文件命令 类型: Golang 内容: 生成server文件命令: protoc --go_out=plugins=grpc:../../../modules/course/info/ ./proto_src/course/info/info.proto 其中 : 1) grpc:../../../modules/course/info/ 表示文件的生成目录 2)./proto_src/course/info/info.proto 表示 inf...

weixin_46742102的博客 1340

环境仿真软件:MIKE 21_(9).MIKE21水生植物模块介绍

MIKE21支持多种水生植物的模拟,用户需要在配置文件中定义植物种类及其特性。</</</</</</</</</假设我们需要定义一种新的水生植物“水葫芦”(Water Hyacinth),并将其特性写入配置文件。# 创建XML根元素# 定义新的植物种类# 生成XML文件假设我们需要分析仿真的水流速度变化,并绘制水流速度随时间变化的图。# 读取NetCDF文件# 获取水流速度数据# 获取时间数据# 绘制水流速度随时间变化的图plt.xlabel('时间 (天)')

kkchenjj的博客 727

分布式计算Ray框架面试题及参考答案

动态任务图执行引擎是一种能够根据任务之间的依赖关系和运行时的实际情况,动态构建和执行任务图的系统。在 Ray 中,动态任务图执行引擎允许任务在运行时根据数据可用性、计算资源状态等因素,灵活地决定后续任务的执行顺序和方式。对于 AI 应用来说,其往往具有动态性的特点。例如,在深度学习模型的训练过程中,可能需要根据训练的结果动态调整下一轮训练的参数、数据增强方式或者模型结构。动态任务图执行引擎可以很好地支持这些动态需求。它能够根据 AI 应用中各个任务的实时输出和依赖关系,动态地生成和调整任务图。

大模型大数据攻城狮的专栏 1350

​​Go语言:gRPC调用

在上节课内容中,我们学习了使用gRPC框架实现服务的调用编程。在gRPC框架中,诸如上节课我们学习的在客户端与服务端之间通过消息结构体定义的方式来传递数据,我们称之为“单项RPC”,也称之为简单模式。除此之外,gRPC中还有数据流模式的RPC调用实现,这正是我们本节课要学习的内容。 一 服务端流 RPC 在服务端流模式的RPC实现中,服务端得到客户端请求后,处理结束返回一个数据应答流。在发送完所有的客户端请求的应答数据后,服务端的状态详情和可选的跟踪元数据发送给客户端。服务端流RPC实现案例如下: 1

qfguan的博客 563

luks-磁盘加密工具

linux磁盘加密配置工具及步骤详解

zdd56789的博客 120

Go-gRPC示例

我们使用gRPC,一般是把它作为微服务。因为,它与语言无关,可以适配多种语言。它的底层实现,使用的是HTTP/2。 在使用时,我们需要通过"protoc"命令,为我们生成protocol-buffers的相关代码,它还会为我们生成gRPC相关代码。然后分别在客户端、服务端分别使用相应的代码即可。......

Arvin 920

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

go : 执行protoc -I . helloworld.proto --go_out=plugins=grpc:.时出现问题

E:\Go\go\src\OldPackageTest\grpc_test\proto>protoc -I . helloworld.proto --go_out=plugins=grpc:./ protoc-gen-go: invalid Go import path "." for "helloworld.proto" The import path must contain at least one forward slash ('/') character. See https://de.

weixin_44863242的博客 1534

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

GRPC入门(Go语言实现)

以前的传统可开发采用的单体架构,就是所有的服务都部署在同一台机器上,当用户来进行访问时,不管用户需要哪一个服务,请求都要到这台机器上。当用户增多时,虽然可以通过Nginx做负载均衡,通过在多台机器上部署相同的服务,但是仍然避免不了当一台机器上的一个服务出现问题,那么该机器上的其他服务都将不可用的事实。

Erictr的博客 1393

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

#### protoc ####

以上述内容为例,假设我们有一个共用的 proto 文件 common.proto,此时 greeter.proto 如果想引用里面的message,就可以使用 import 关键字进行导入。参数针对的是protobuf,是proto文件的命名空间,它的作用是为了避免我们定义的接口,或者message出现冲突。参数是用来指定 protoc-gen-go 插件的工作方式和Go代码的生成位置,而上面的写法正是表明该插件的工作方式。的写法是,参数之间用逗号隔开,最后加上冒号来指定代码的生成位置,比如。

仅做个人笔记 1403

【已解决】--go_out: protoc-gen-go: Plugin failed with status code 1.

解决grpc中proto转go的一些问题

js010111的博客 4203

【go微服务】gRPC

像许多 RPC 系统一样,gRPC 基于定义服务的思想,指定可以通过参数和返回类型远程调用的方法。默认情况下,gRPC 使用作为接口定义语言(IDL)来描述服务接口和有效负载消息的结构。可以根据需要使用其他的IDL代替。例如,下面使用 protocol buffers 定义了一个服务。}}}在gRPC中你可以定义四种类型的服务方法。普通 rpc,客户端向服务器发送一个请求,然后得到一个响应,就像普通的函数调用一样。服务器流式 rpc,其中客户端向服务器发送请求,并获得一个流来读取一系列消息。

胡毛毛的博客 1895

使用protoc编译grpc问题记录(--go_out: protoc-gen-go: plugins are not supported;)

记录错误提示:--go_out: protoc-gen-go: plugins are not supported;

m0_57777971的博客 3025

使用 go protoc --go_out 输出的 *.pb.go文件时报 undefined: proto.ProtoPackageIsVersion3

事情是这样的:我参考go的 grpc 实现https://grpc.io/docs/quickstart/go/ Download the example The grpc code that was fetched withgo get google.golang.org/grpcalso contains the examples. They can be found ...

weixin_30596165的博客 1476

grpc之Protoc 参数

1 基础命令 •–proto_path=src 和-I是一样的 •–go_out=out 表示输出的文件夹,需要我们自己创建 •–go_opt=paths=source_relative 表示按源文件的目录组织输出,也就是" the same relative directory ", 这意味着,会将proto文件相对proto_path指定的基目录,按同样的目录组织,在$go_out上重放一遍 一般都会使用source_relative,否则,就会按照option go_package里面的那个路径生成

数据库技术 3012

golang-protobuf和内置rpc_grpc的配置和使用

1.下载对应zip包, 解压 https://github.com/protocolbuffers/protobuf/releases -2. 配置环境变量: 在用户系统变量Path最后添加刚刚解压的bin目录,例如: G:\soft\protobuf\bin -3. 验证是否配置正确: 打开终端,输入protoc,如果输出下面内容,代码配置成功。 4.安装protoc-gen-go库 在此之前要设置go的环境变量: GO111MODULE=on GOPROXY=https://gopro.

weixin_41395435的博客 1227

gRpc笔记

1.生成接口 proto文件编写完成后,执行命令 老版本命令为:protoc --go_out=plugins=grpc:./ *.proto 新版本命令为:protoc --go-grpc_out=./ *.proto 生成go文件 2.重写方法 创建结构体,成员变量为Unimplemented<rpc方法名>Server 重写方法,方法接受者为上述结构体,入参为context.Context, <proto中定义的message>,返回值为<proto中定义的message

no_russion的博客 851

【学习笔记】go-gRPC 初尝试

或者移动到自定义目录,并将该目录设置到环境变量中即可。go本身并不支持protoc,要安装插件获得对应支持。解压,将文件夹移动到goroot目录中,可以通过命令。会看到执行编译目录下输出两个文件。这里使用go mod 更新插件。找到对应版本的anz安装文件。如我的goroot目录为。查看goroot目录。使用如下命令进行编译。

Left_Zzzz的博客 398

Window环境下使用go编译grpc最新教程

网上的grpc教程都或多或少有些老或者有些问题,导致最后执行生成文件时会报很多错。这里给出个人实践出可执行的编译命令与碰到的报错与解决方法。最后看了官网,果然只有官网的教程不会太老导致不可用。下载protoc不做介绍请自行下载下载后执行输出类似以下信息则安装成功,否则卸载重新安装下载go编译proto插件下面的命令已废弃!不要使用请使用下面命令!观察GOPATH目录的bin下有两个文件编写search.proto文件执行编译命令以上是煎鱼的grpc教程,可能由于版本或者环境导致现在。

zhaicheng55的博客 2150
上一篇: c++进阶(3)
下一篇: GOLANG笔记第四周
fcopy
博客等级 码龄6年 252粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值