douxianji3367 2018-04-13 18:25
浏览 723

Google Protobuf依赖冲突

I am working on a Golang library that leverages Google Protobuf. It does so by using code auto-generated by protoc-gen-go, the compiler plugin. I am using Dep for dependency management. The generated code exports the InstanceStatusUpdate struct, for which the field Timestamp is of the type github.com/golang/protobuf/ptypes/timestamp.Timestamp:

type InstanceStatusUpdate struct {
    EvaluationId  string
    VariationId   string
    AttemptNumber int32
    Timestamp     *google_protobuf.Timestamp
    Stage         string
    Metadata      string
    JobId         string
}

The problem I have is that writing library code to populate the Timestamp field triggers a redundant auto-importing of "github.com/golang/protobuf/ptypes", since that is where the type that needs to be assigned to Timestamp lives. This redundancy causes this error:

cannot use timestamp (type *"my_path/vendor/github.com/golang/protobuf/ptypes/timestamp".Timestamp) as type *"github.com/golang/protobuf/ptypes/timestamp".Timestamp in field value

Any ideas?

library structure (only one vendor folder):

code_root
|
 -lib
|  |
|   -go-statuses
 -my_package /*Contains code that refers to the auto-generated code in 
   |          go-statuses*/
   |
    -vendor
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?