首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GoLand为GO编译gRPC .proto文件后缺少导入

使用GoLand为GO编译gRPC .proto文件后缺少导入
EN

Stack Overflow用户
提问于 2021-07-23 05:52:32
回答 1查看 73关注 0票数 0

我试图从一本gRPC书中找出这个例子,我很难弄清楚我所做的事情出了什么问题。

我有一个.proto文件,我可以把它编译成.pb.go存根。

我正在尝试构建客户端和服务器,文件夹结构如下:

我成功地运行了这些命令,并且为客户机和服务器生成了.pb.go文件,因此没有任何问题:

代码语言:javascript
复制
service % protoc -I ecommerce ecommerce/product_info.proto --go_out=plugins=grpc:./ecommerce

client % protoc -I ecommerce ecommerce/product_info.proto --go_out=plugins=grpc:./ecommerce

然而,虽然服务器的go文件可以解析所有的导入,但对于客户端却不是这样。

看看文件夹结构,我本以为一切都会好起来的(我这周刚开始使用go和gRPC,所以请理解)。

我的集成开发环境是GoLand,我怀疑路径有问题,但我不知道现在从哪里开始。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-23 17:29:56

根据评论,截图显示了service中的go.mod,但client中没有。由于goland将在启用'Go Modules Integration‘的情况下运行,因此它将需要一个模块(我强烈建议使用模块!)。

最简单的修复方法是在客户端文件夹中运行go mod init [module-path] (然后运行go mod tidy)。您还可以在backend文件夹(或productinfo文件夹)中建立一个模块,该模块将由子文件夹共享。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68491893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档