-1

我有两个 git 存储库:

common 这个存储库包含 protobuf 文件(.proto),这些文件应该通过 git submodule init 从其他供应商存储库中获取。还有带有指令的 go 文件://go:generate protoc --proto_path=a/xxx --go_out=。--go_opt=paths=source_relative a/xxx/b.proto

main 这个存储库包含 main 项目,它从 common 导入包。然后我调用 git submodule update --init 和 go generate。生成后我可以看到日志: go:finding github.xxx.com/xxx latest

但是主go文件显示一些问题: build github.xxx.com/main: cannot load github.xxx.com/xxx/proto: module github.xxx.com/common@latest found, but does not contain package github.xxx .com/xxx/proto

似乎 go generate 命令不会生成 proto 文件。我想如果我导入一些东西,那么这些文件就在缓存​​中的某个地方。我不确定我的方法是否可行。

你能告诉我这个解决方案是否可行或者我应该改变什么。

4

1 回答 1

0

好的,我的解决方案是这样的项目布局:https ://github.com/golang-standards/project-layout

我在 cmd 文件夹中有更多 main.go 文件。这样我只有一个模块,在模块内部我可以有不同的应用程序。我认为这是非常酷的解决方案。

于 2020-09-04T11:41:55.733 回答