【问题标题】:Error cannot find package "github.com/go-redis/redis/v8" when downloading go-redis package下载 go-redis 包时出现错误找不到包“github.com/go-redis/redis/v8”
【发布时间】:2021-02-07 05:11:04
【问题描述】:

我尝试使用此命令go get github.com/go-redis/redis/v8 下载 go-redis,但出现以下错误:

cannot find package "github.com/go-redis/redis/v8" in any of:
        C:\Go\src\github.com\go-redis\redis\v8 (from $GOROOT)
        E:\Go Workspace\src\github.com\go-redis\redis\v8 (from $GOPATH)

为什么会出现此错误以及如何解决此问题?

OS : Windows
Go version : go version go1.15 windows/amd64

【问题讨论】:

  • 请仅使用模块构建。 GOPATH 构建基本上已被弃用。
  • 我明白了。所以如果不使用 go 模块,我就无法安装 redis-go 吗?
  • 查看以下响应,以便使用go modules 构建您的项目:stackoverflow.com/a/57944766/9361998
  • @PajriAprilio 您已经在使用 Go 1.15,并且默认情况下只有模块。而且比go get的方式好多了;相信我。所以,请使用它。使用非常简单!
  • 在没有模块的情况下“安装”redis-go 非常简单,但没有意义。如果你不能让它与模块一起运行,你也不能在 GOPATH 模式下正常运行。模块是未来。现在就习惯它们吧。

标签: go redis go-redis


【解决方案1】:

以下步骤解决了我的问题:

  1. 初始化 go 模块(因为 go-redis 支持最后 2 个 Go 版本并且需要支持 Go Modules
go mod init github.com/my/repo
  1. 使用命令安装redis/v8
go get github.com/go-redis/redis/v8

创建一个 main.go 文件并编写以下代码来检查您的连接

package main

import (
    "fmt"
    "github.com/go-redis/redis"
)

func main() {
    fmt.Println("Go Redis Connection Test")

    client := redis.NewClient(&redis.Options{
        Addr: "localhost:6379",
        Password: "",
        DB: 0,
    })

    pong, err := client.Ping().Result()
    fmt.Println(pong, err)

}

当我们现在运行它时,我们将看到 Go 应用程序将成功 ping redis 实例,它会返回一个成功的 PONG 响应:

go run main.go

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-13
    • 2017-04-24
    • 2014-10-16
    • 1970-01-01
    • 2022-11-11
    • 2017-03-23
    • 1970-01-01
    • 2011-06-22
    相关资源
    最近更新 更多