我在路径中创建了以下 .proto 文件:microservice/internal/proto-files/domain/repository.protosyntax = "proto3";package domain;option go_package = "microservice/internal/gRPC/domain";message Repository { int64 id = 1; string name = 2; int64 userId = 3; bool isPrivate = 4;}并在另一个路径中关注 .proto 文件:microservice/internal/proto-files/servicesyntax = "proto3";package service;option go_package = "microservice/internal/gRPC/service";import "microservice/internal/proto-files/domain/repository.proto";//RepositoryService Definitionservice RepositoryService { rpc add (domain.Repository) returns (AddRepositoryResponse);}message AddRepositoryResponse { domain.Repository addedRepository = 1; Error error = 2;}message Error { string code = 1; string message = 2;}但是我的 IDE(goland) 无法解析 repository-service.proto 中的导入,并且当我使用 protoc 命令生成 .pb.go 文件时,我将面临以下错误:microservice/internal/proto-files/domain/repository.proto: File not found.
2 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
首先,您的导入路径最好是这样的:
import "domain/repository.proto";
您必须将 proto 文件的路径添加到 Goland。为此,您必须转到setting
> Languages & Frameworks
>Protocol Buffers
然后取消选中Configure automatically
。
之后在导入路径上添加此路径。
microservice/internal/proto-files
像这样 :
达令说
TA贡献1821条经验 获得超6个赞
我也有同样的问题; 当我使用“implort domail/file-name.proto”语句时,IDE 会给我错误消息: Cannot resolve import 'domain/file-name.proto"
最后我发现了我的问题:父文件夹没有标记为“Resources Root”,所以我标记了它并解决了我的问题。
- 2 回答
- 0 关注
- 298 浏览
添加回答
举报
0/150
提交
取消