当我使用“go install”时,它返回的不是主包

Ete*_*end 13 go redis go-redis

import "github.com/go-redis/redis/v8"在我的代码中使用了。环境是go1.17.2 Windows AMD64。我执行了go install github.com/go-redis/redis/v8@latest,但是结果是package github.com/go-redis/redis/v8 is not a main package。我的操作或者环境配置有什么问题。go env GO111MODULE=on

当我执行时go run main.go,它显示cannot find package在导入行github.com/go-redis/redis/v8

,中的内容go.mod(使用简单的go mod init& go mod tidy):

module ...
go 1.17

require github.com/go-redis/redis/v8 v8.11.4

require (
    github.com/cespare/xxhash/v2 v2.1.2 // indirect
    github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
)
Run Code Online (Sandbox Code Playgroud)

rus*_*yhu 1

您的模块名称go.mod无效。我在我的环境中尝试类似的模块名称并使用 进行编译go build,它报告:

$ go build
go: malformed module path "...": invalid path element "..."
Run Code Online (Sandbox Code Playgroud)

尝试使用如下名称:

module tempredis
go 1.17

require github.com/go-redis/redis/v8 v8.11.4
Run Code Online (Sandbox Code Playgroud)

或者使用命令创建模块go mod init tempredis,然后添加github.com/go-redis/redis/v8.

请参阅文档