go get-u创建一个失败的go.mod
以下是使用go micro的步骤。当我执行一个go get-u创建一个失败的go.mod,go,go-micro,go-get,Go,Go Micro,Go Get,以下是使用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
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-micro和grpc版本不一致的错误。大约一个星期前,我试着按照你提到的教程去做,但还是犯了同样的错误。如果要修复上述错误,请按照链接下面的交互操作进行操作:
此外,由于版本不一致,我建议您只构建grpc服务,而不进行微操作。@Anar
我补充说:
替换github.com/coreos/etcd v3.3.18+不兼容=>github.com/coreos/etcd v3.3.4+不兼容
现在错误是
go:extracting github.com/coreos/etcd v3.3.4+不兼容
\#github.com/micro/go-micro/v2/registry/etcd
../../../../go3p/pkg/mod/github.com/micro/go-micro/v2@v2.7.0/registry/etcd/etcd.go:79:10:config.LogConfig未定义(clientv3.config类型没有字段或方法LogConfig)
您链接到的github问题表明这是一个大混乱。看起来GoMicro在发布代码之前甚至没有构建代码
我会接受你的建议,跳过微操。看到这些之后,我对他们的工作没有信心。是的,现在我也跳过了微操作,继续使用grpc,祝你好运!