Ошибка импорта: неверная версия, неизвестная версия

Код, структура файла слева и ошибка

package main

import (
    "fmt"

    "github.com/cilium/cilium/api/v1/models"
    "github.com/cilium/cilium/pkg/client"
    log "github.com/sirupsen/logrus"
)

func main() {
    fmt.Println("Starting Application...")

    fmt.Println("Terminating Application...")
}

Это ошибка, которую я получаю при запуске: иди, запустите main.go

github.com/cilium/cilium@1.7.2 requires github.com/optiopay/kafka@v0.0.0-2080809090225-01ce283b732b: ivalid version: unknown revision 01ce283b732b

Я использую файл мода go для своих зависимостей, и моя версия go - последняя 1.14

Я также проверил свою файловую структуру, и у меня уже есть cilium@v1.7.2 в pkg/mod/github.com/cilium

Я пробовал добавить github.com/optiopay/kafka под моим оператором импорта в моем коде, но я все еще получаю ту же самую ошибку.

Я понятия не имею, как это исправить, я искал в Google, но не смог найти определенного или ясного ответа, который работал. Любая помощь приветствуется.

4 ответа

Вы видите эту ошибку, потому что replace директивы в go.mod игнорируются go mod/go get и go.modФайл Cilium v1.7.2 содержит множество директив замены. Чтобы обойти эту проблему, реплицируйте директивы replace той версии Cilium, которую вы пытаетесь импортировать в своюgo.modфайл. Пример для Cilium v1.7 можно найти в этом репозитории.

Вместо этого вы должны использовать этот импорт:

      "github.com/cilium/cilium/pkg/k8s/client/clientset/versioned/typed/cilium.io/v2"

См. Пример клиента в следующем сообщении:https://runkiss.blogspot.com/2021/11/golang-integration-with-cilium-and.html

кажется optiopay / kafka - это ваше личное репо. Вы можете настроить ssh с помощью git. и установите свой URL-адрес в git config, чтобы использовать ssh вместо https.

Шаги:

  1. настроить ssh (если это еще не сделано)
  2. обновить конфигурацию git -> git config --system url."git@github.com:".insteadOf "https://github.com/"

Ошибка - версия, которую go пытается извлечь для этого конкретного модуля, который ее импортирует, либо устарела, либо недействительна.

Решение . Например, в моем случае я получал следующую ошибку:

      go: downloading github.com/myk4040okothogodo/tutorial/gen/go/proto/books v0.0.0-00010101000000-000000000000
github.com/myk4040okothogodo/tutorial/books imports
    github.com/myk4040okothogodo/tutorial/books/server imports
    github.com/myk4040okothogodo/tutorial/gen/go/proto/books: github.com/myk4040okothogodo/tutorial/gen/go/proto/books@v0.0.0-00010101000000-000000000000: invalid version: unknown revision 000000000000

как вы можете видеть выше, мой модуль «github.com/myk4040okothogodo/tutorial/books/server» импортирует другой модуль «github.com/myk4040okothogodo/tutorial/gen/go/proto/books:» этот импорт выдает ошибку выше, поэтому я перейдите в мой файл go.mod и внесите следующие изменения:

       1 module github.com/myk4040okothogodo/tutorial/books/server                                                                                                           
  2 
  3 go 1.18
  4 
  5 replace github.com/myk4040okothogodo/tutorial/db => ../../db
  6 
  7 replace github.com/myk4040okothogodo/tutorial/gen/go/proto/books => ../../gen/go/proto/books
  8 
  9 require (
 10   github.com/arangodb/go-driver v1.3.2
 11   github.com/myk4040okothogodo/tutorial/db v0.0.0-00010101000000-000000000000
 12   github.com/myk4040okothogodo/tutorial/gen/go/proto/books latest
 13   google.golang.org/grpc v1.47.0
 14 )

проверьте выше в строке 12, где я поставил «последняя» вместо номера версии, т.е. «v0.0.0...."

Я сохраняю файл, а затем запускаю «go mod tidy» .

Затем компилятор изменяет обозначение «последняя» на актуальную версию, т.е. она будет выглядеть, как показано ниже, после выполнения команды mod tidy.

      1 module github.com/myk4040okothogodo/tutorial/books/server                                                                                                           
  2 
  3 go 1.18
  4 
  5 replace github.com/myk4040okothogodo/tutorial/db => ../../db
  6 
  7 replace github.com/myk4040okothogodo/tutorial/gen/go/proto/books => ../../gen/go/proto/books
  8 
  9 require (
 10   github.com/arangodb/go-driver v1.3.2
 11   github.com/myk4040okothogodo/tutorial/db v0.0.0-00010101000000-000000000000
 12   github.com/myk4040okothogodo/tutorial/gen/go/proto/books v0.0.0-20220601171028-60237b9c9583
 13   google.golang.org/grpc v1.47.0
 14 )

PS: проверьте пакет, в который я вношу изменения, не изменяйте неправильный импорт

Другие вопросы по тегам