我正在学习使用 etcd 进行服务发现的 go-kit 教程。我正在使用 Goland 在本地构建一个多容器架构,并且刚刚开始在 etcd 中注册一个服务(通知程序)。一切似乎都很好,但是当我运行时:docker-compose up --build 通知器我得到:#12 7.248 /go/pkg/mod/github.com/go-kit/kit@v0.12.0/sd/etcd/client.go:13:2: missing go.sum entry for module providing package go.etcd.io/etcd/client/v2 (imported by github.com/go-kit/kit/sd/etcd); to add:#12 7.248 go get github.com/go-kit/kit/sd/etcd@v0.12.0当我运行 go get github.com/go-kit/kit/sd/etcd@v0.12.0 然后重新运行 docker-compose up --build notificator 时,即使 go.sum 包含以下内容,错误仍然存在:go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ=go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0=go.mod 是:module notificatorgo 1.15require ( github.com/go-kit/kit v0.12.0 github.com/lightstep/lightstep-tracer-go v0.25.0 github.com/oklog/oklog v0.3.2 github.com/oklog/run v1.1.0 // indirect github.com/opentracing/basictracer-go v1.1.0 // indirect github.com/opentracing/opentracing-go v1.2.0 github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 github.com/openzipkin/zipkin-go v0.3.0 github.com/prometheus/client_golang v1.11.0 golang.org/x/net v0.0.0-20211216030914-fe4d6282115f google.golang.org/grpc v1.43.0 google.golang.org/protobuf v1.27.1 sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600)不知道如何解释,因为在我看来条件满足?我还以为会自动导入?
1 回答

慕标琳琳
TA贡献1830条经验 获得超9个赞
这原来是我的 Dockerfile 的一个问题。
COPY go.mod .
COPY go.sum .
RUN go mod download
会产生上述错误,而
COPY . .
RUN go get -t -v ./...
才不是。我不完全确定为什么会提出另一个问题。
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报
0/150
提交
取消