解决编译ArgoCD时发生的错误:找到模块go.opentelemetry.io/otel@latest(v1.2.0),但不包含包go.opentelemetry.io/otel/api/metric的方法

简述

有时候,出现标题错误的问题是由于 ArgoCD 依赖的 go-redis 与其依赖的 go.opentelemetry.io 包的要求不一致引起的。下面将介绍解决这个问题的方法。

错误全部内容

github.com/focas/focas/experimental/argocd-go imports
    github.com/argoproj/argo-cd/v2/pkg/client/clientset/versioned imports
    github.com/argoproj/argo-cd/v2/pkg/client/clientset/versioned/typed/application/v1alpha1 imports
    github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1 imports
    github.com/argoproj/argo-cd/v2/util/helm imports
    github.com/argoproj/argo-cd/v2/util/cache imports
    github.com/go-redis/redis/v8 imports
    github.com/go-redis/redis/v8/internal imports
    go.opentelemetry.io/otel/api/metric: module go.opentelemetry.io/otel@latest found (v1.2.0), but does not contain package go.opentelemetry.io/otel/api/metric

解决方案

获取go-redis的特定提交。

go get github.com/go-redis/redis/v8@1f32092a3b04c21b6e8e51e2c94c03448d14a2c9

根据

    undefined: otel.Meter or cannot find package “go.opentelemetry.io/otel/api/trace” · Issue #1534 · go-redis/redis
广告
将在 10 秒后关闭
bannerAds