我正在尝试使用gRPC进行项目,该服务器使用golang编写的服务器和用节点编写的客户端

我有这样的protobuf文件结构

- $GOPATH/src/company/api
  |- server
     |- svc1
        |- svc1.proto
     |- svc2
        |- svc2.proto
  |- hardware
     |- hardware1
        |- hardware1.proto
     |- hardware2
        |- hardware2.proto
  |- lib
     |- used-by-both
        |- used-by-both.proto

在定义使用lib目录中的某些内容的服务时,我使用 -I$GOPATH/src 然后使用原型文件中的 import "company/api/lib/used-by-both"; 导入,当我生成所有内容时,它似乎工作 for golang .

但是,当我生成节点文件时,当while api 目录作为节点模块安装时,依赖于 lib 文件的包中的导入路径不正确

如果我尝试使编译器的 -I 选项更具体并缩短 import 语句,那么golang包导入会搞砸

关于如何最好地编译这些proto文件以便使用它们的任何建议很容易,因为它们是什么样的包装 and 节点模块?