Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么不能从go-get导入库?_Go_Redis_Go Get - Fatal编程技术网

为什么不能从go-get导入库?

为什么不能从go-get导入库?,go,redis,go-get,Go,Redis,Go Get,我使用 go mod init github.com/my/repo go get github.com/go-redis/redis/v8 但事实证明了这一点。所以我从${GOPATH}/src/github.com中删除了go redis,然后再次尝试运行它 go get github.com/go-redis/redis/v8 但它什么也没做。不会显示任何错误或消息。但当我尝试导入包时,它会说 在以下任意位置找不到包“github.com/go-redis/redis/v8:  /us

我使用

go mod init github.com/my/repo
go get github.com/go-redis/redis/v8
但事实证明了这一点。所以我从${GOPATH}/src/github.com中删除了go redis,然后再次尝试运行它

go get github.com/go-redis/redis/v8
但它什么也没做。不会显示任何错误或消息。但当我尝试导入包时,它会说

在以下任意位置找不到包“github.com/go-redis/redis/v8:
 /usr/lib/go/src/github.com/go-redis/redis/v8(来自$GOROOT)
 /home/username/go/src/github.com/go-redis/redis/v8(来自$GOPATH)

我试着去整理一下,但是没有一个奏效。我该怎么办

  • ls
    $GOPATH
    ,如果没有显示您的golang库源的路径,您应该先设置路径
  • 如果第1点可以,您应该只执行以下操作:
    go mod tidy

  • tidy参数使您使用sync方法下载包,而不单独执行go-get。

    我更愿意使用go-vendoring,它会将您的依赖项添加到供应商中,/and-mod=供应商会告诉golang在本地搜索依赖项

  • 删除go.sum
  • 类型
    export-GOFLAGS=-mod=vendor
  • 键入
    go-mod-tidy和&go-mod-vendor
  • 如果无法导出变量,请使用go run和go build,前缀为
    GOFLAGS=-mod=vendor
    ,例如
    GOFLAGS=-mod=vendor go run cmd/main/main.go


    不要忘记将供应商/添加到.gitignore

    此处:这可能会有所帮助!我遇到了同样的问题,尝试删除go.sum,键入
    go-mid-tidy
    并尝试使用golang 14.0>