【问题标题】:go get -u creates a go.mod that failsgo get -u 创建一个失败的 go.mod
【发布时间】:2020-09-07 15:56:24
【问题描述】:

关注this example 使用 go-micro。当我执行go mod init github.com/username/blahblah 然后执行 go get -u 时,我会在我的 go.mod 文件中得到这个:

    require (
    github.com/coreos/etcd v3.3.21+incompatible // indirect
    github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf // indirect
    github.com/fsnotify/fsnotify v1.4.9 // indirect
    github.com/gogo/protobuf v1.3.1 // indirect
    github.com/golang/protobuf v1.4.2
    github.com/imdario/mergo v0.3.9 // indirect
    github.com/micro/go-micro/v2 v2.7.0
    github.com/miekg/dns v1.1.29 // indirect
    github.com/nats-io/nats.go v1.10.0 // indirect
    go.uber.org/zap v1.15.0 // indirect
    golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 // indirect
    golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect
    golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2 // indirect
    golang.org/x/sys v0.0.0-20200519105757-fe76b779f299 // indirect
    golang.org/x/tools v0.0.0-20200520220537-cf2d1e09c845 // indirect
    google.golang.org/genproto v0.0.0-20200519141106-08726f379972 // indirect
    google.golang.org/grpc v1.29.1 // indirect
    gopkg.in/yaml.v2 v2.3.0 // indirect
    honnef.co/go/tools v0.0.1-2020.1.4 // indirect
)

此消息失败:

go: finding github.com/jbenet/go-context latest
go: finding go.uber.org/tools latest
# github.com/coreos/etcd/clientv3/balancer/resolver/endpoint
../../../../../go3p/pkg/mod/github.com/coreos/etcd@v3.3.21+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:114:78: undefined: resolver.BuildOption
../../../../../go3p/pkg/mod/github.com/coreos/etcd@v3.3.21+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:182:31: undefined: resolver.ResolveNowOption
# github.com/coreos/etcd/clientv3/balancer/picker
../../../../../go3p/pkg/mod/github.com/coreos/etcd@v3.3.21+incompatible/clientv3/balancer/picker/err.go:37:44: undefined: balancer.PickOptions
../../../../../go3p/pkg/mod/github.com/coreos/etcd@v3.3.21+incompatible/clientv3/balancer/picker/roundrobin_balanced.go:55:54: undefined: balancer.PickOptions

尝试使用 go build main.go 构建失败并显示相同的消息。

这看起来像来自 Java 的 .jar 地狱。罪魁祸首是go get。有没有办法让go get解决这个问题?

【问题讨论】:

    标签: go go-micro go-get


    【解决方案1】:

    这是 go-micro 和 grpc 之间版本不一致的错误。大约一周前,我尝试按照您提到的教程进行操作,但遇到了同样的错误。如果您想修复上述错误,请按照链接下方的交互操作: https://github.com/etcd-io/etcd/issues/11563.

    另外,由于版本不一致,我建议您只构建 grpc 服务而不使用 go-micro。

    【讨论】:

      猜你喜欢
      • 2021-09-01
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 2016-09-25
      • 1970-01-01
      • 2015-01-02
      相关资源
      最近更新 更多