Golang not enough arguments in call to client.Ping

Я новичок в Golang, но нужно срочно решить проблему Выдает ошибку not enough arguments in call to client.Ping Предыдущий разработчик уверяет, что все раньше работало, и это могло быть из-за обновления библиотеки

func Init() {
    var err error
    redisUrl = config.MustString("redisUrl")
    redisPassword = config.MustString("redisPassword")
    redisDb = config.MustInt("redisDb")
    client = redis.NewClient(&redis.Options{
        Addr:     redisUrl,
        Password: redisPassword,
        DB:       redisDb,
    })
    _, err = client.Ping().Result()
    if err != nil {
        logger.StdErr().Warn("Can`t connect to redis server! ", err.Error())
    } else {
        logger.StdOut().Info("Connected to redis!")
    }

    go _syncWithDB()
    go _sendWorkToBroker()
}

Ответы (1 шт):

Автор решения: aksioto

В корне проекта должен быть файл go.mod. Там нужно проверить версию загруженного модуля Redis. Скорей всего используется Redis последней версии.

Предположим код раньше работал, тогда версия должна быть <8, т.к. контексты в качестве параметров были добавлены в 8 версии.

Можно попробовать синхронизировать зависимости (чтобы убрать лишние)

go mod tidy

И добавить пакет заново (v6.15.9+incompatible)

go get github.com/go-redis/redis@latest

UPD:

Нужная версия пакета в go.mod отмечена как // indirect т.к. ещё не импортирована.

Проверьте импорты в файле где находится Init().

Скорей всего там github.com/go-redis/redis/v8 вместо github.com/go-redis/redis

→ Ссылка