1 回答
TA贡献1834条经验 获得超8个赞
您快到了!我怀疑你可能会被相对路径咬伤......
如果您的 proto 文件以这样的开头:
package author;
option go_package = "github.com/kurtpeek/proto-example/gen/go/author";
和
package book;
import "author/author.proto";
option go_package = "github.com/kurtpeek/proto-example/gen/go/book";
并使用构建命令(带有相对路径)
mkdir -p gen/go
protoc book/book.proto --go_out=gen/go
protoc author/author.proto --go_out=gen/go
您生成的代码将出现在这些相对路径(到您的 CWD)中:
gen/go/github.com/kurtpeek/proto-example/gen/go/author/author.pb.go
gen/go/github.com/kurtpeek/proto-example/gen/go/book/book.pb.go
生成的book包应该具有所需的导入:
package book
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
author "github.com/kurtpeek/proto-example/gen/go/author"
math "math"
)
如果您希望将生成的代码放在特定目录中,请使用绝对路径:
mkdir -p /some/absolute/path
protoc my.proto --go_out=/some/absolute/path
- 1 回答
- 0 关注
- 106 浏览
添加回答
举报