英文:
When I using `go install`, it returns not a main package
问题
我在我的代码中使用了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
时,它在import github.com/go-redis/redis/v8
这一行显示cannot find package
。
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
)
英文:
I used import "github.com/go-redis/redis/v8"
in my code. The environment is go1.17.2 Windows AMD64
. I executed go install github.com/go-redis/redis/v8@latest
, but the result is package github.com/go-redis/redis/v8 is not a main package
. What's wrong of my operations or the config of environment. go env GO111MODULE=on
.
And when I execute go run main.go
, it shows cannot find package
at the line of import github.com/go-redis/redis/v8
.
Content in go.mod
, (with simple 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
)
答案1
得分: 1
你的go.mod
文件中的模块名是无效的。我在我的环境中尝试了类似的模块名,并使用go build
进行编译,结果报错:
$ go build
go: malformed module path "...":invalid path element "..."
尝试使用以下类似的模块名:
module tempredis
go 1.17
require github.com/go-redis/redis/v8 v8.11.4
或者使用命令go mod init tempredis
创建模块,然后添加github.com/go-redis/redis/v8
的依赖。
请参考文档。
英文:
The module name of your go.mod
is invalid. I try the similar module name in my environment and compile with go build
, it reports:
$ go build
go: malformed module path "...": invalid path element "..."
Try a name like:
module tempredis
go 1.17
require github.com/go-redis/redis/v8 v8.11.4
Or create the module with command go mod init tempredis
then add a dependency of github.com/go-redis/redis/v8
.
Refer to document.
答案2
得分: 1
我使用 import "github.com/go-redis/redis"
,并重新启动进程(包括 go mod init
,go mod tidy
,go install
),最终显示正确的结果。但是在 go.mod
文件中,go redis 的版本自动更改为 v6.15.9+incompatible
。
英文:
I use import "github.com/go-redis/redis"
, and restart the process (include go mod init
, go mod tidy
, go install
), it shows right result finally. But the version of go redis changes to v6.15.9+incompatible
in go.mod
file automatedly.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论