【发布时间】:2021-11-29 15:57:19
【问题描述】:
有这个包https://github.com/open-telemetry/opentelemetry-proto 其中仅包含 protobuf 定义。要生成 golang 代码,必须键入:
make gen-go
go build 失败并显示以下消息:
build opentel: cannot load github.com/open-telemetry/opentelemetry-proto/gen/go/common/v1: module github.com/open-telemetry/opentelemetry-proto@latest found (v0.11.0), but does not contain package github.com/open-telemetry/opentelemetry-proto/gen/go/common/v
我试图在 go.mod 文件中用另一个路径替换一个路径,但显然我不太擅长。我怎样才能让它发挥作用?
我已将这些生成的文件复制到
$GOPATH/src/opentelemetry-proto/gen/go
我应该在主包中的 import 语句中添加什么?
【问题讨论】:
-
我克隆了 repo,并从内部运行
make gen-go并生成了一个./gen目录而没有错误。 Make 过程使用docker run运行 protoc,因此您应该(!?)不会收到错误。您是否试图以不同的方式从 protos 生成源代码? -
啊,你已经更新了问题;-)
-
@DazWilkin 是的 :),问题是。如何将本地包导入我的主程序。如果我删除 go.mod 和 go.sum 它可以工作,但是我不能导入其他包。这是一场噩梦。
-
这有点乱,他们是怎么做的,不是我会怎么做的……会添加一个答案
标签: go protocol-buffers open-telemetry