簡體   English   中英

使用 GoLand 為 GO 編譯 gRPC .proto 文件后丟失導入

[英]Missing imports after compiling gRPC .proto file for GO using GoLand

我正在嘗試從 gRPC 書中找出示例,並且我很難弄清楚我所做的事情有什么問題。

我有一個 .proto 文件,我可以將它編譯到 .pb.go 存根中。

我正在嘗試構建客戶端和服務器,文件夾結構如下所示: 文件夾結構

我成功運行了這些命令,並為客戶端和服務器生成了 .pb.go 文件,所以沒有問題:

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,所以請理解)。

我的 IDE 是 GoLand,我懷疑路徑有問題,但我現在不知道從哪里開始。

根據評論,屏幕截圖在service顯示了go.mod但在client沒有。 由於 goland 將在啟用“Go Modules Integration”的情況下運行,因此需要一個模塊(我強烈建議使用模塊!)。

最簡單的解決方法是在客戶端文件夾中運行go mod init [module-path] (后跟go mod tidy )。 您還可以在backend文件夾(或productinfo文件夾)中建立一個模塊,該模塊將由子文件夾共享。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM