正如您已经注意到的,您应该使用go get github.com/<user>/<repo>。 您看到的错误消息来自go get中实现的支持Go modules的新功能-您现在还可以指定依赖项的版本:go get github.com/<user>/<repo>@<version>,其中version是使用semver的git标签,例如v1.0.2。
$ export GO111MODULE=on
$ go mod init <project name>
# go mod init HelloWorld
# or
# go mod init .
$ go mod download repo@version
# go mod download github.com/robfig/cron/[email protected]
我在使用模块初始化项目之前,在一个空项目上运行$ go get github.com/<user>/<repo>@<version>时,在Go v1.14中遇到了这个错误。 为了解决这个问题,我使用以下命令创建了一个go.mod文件: $ go mod init 我成功地重新运行了get命令,它下载了供应商的软件包,更新了go.mod文件,并创建了一个go.sum文件。
root@host:/# go get github.com/ibm-messaging/mq-golang/ibmmq@ff54c095001d81eed10615916a896512eb8d81ff
go: cannot use path@version syntax in GOPATH mode
root@host:/# cd myproject/
root@host:/myproject# ls go.mod
go.mod
root@host:/myproject# go get github.com/ibm-messaging/mq-golang/ibmmq@ff54c095001d81eed10615916a896512eb8d81ff
go: finding github.com ff54c095001d81eed10615916a896512eb8d81ff
go: finding github.com/ibm-messaging/mq-golang/ibmmq ff54c095001d81eed10615916a896512eb8d81ff
go: finding github.com/ibm-messaging/mq-golang ff54c095001d81eed10615916a896512eb8d81ff
go: finding github.com/ibm-messaging ff54c095001d81eed10615916a896512eb8d81ff
7条答案
按热度按时间gojuced71#
我遇到了同样的问题,并解决了在我的.zshrc(或.bashrc,取决于您使用的shell)中设置特定的env变量
export GO111MODULE=on
,并重新启动shell以启用模块。您可以在这里找到更多详细信息:https://github.com/golang/go/wiki/Modulesyzckvree2#
正如您已经注意到的,您应该使用
go get github.com/<user>/<repo>
。您看到的错误消息来自
go get
中实现的支持Go modules的新功能-您现在还可以指定依赖项的版本:go get github.com/<user>/<repo>@<version>
,其中version
是使用semver的git标签,例如v1.0.2
。q1qsirdb3#
我也遇到了这个问题。经过一些搜索后,下面的工作原理是使用
go mod
而不是go get
,这是Golang Modules的一个特性:arknldoa4#
我在使用模块初始化项目之前,在一个空项目上运行
$ go get github.com/<user>/<repo>@<version>
时,在Go v1.14中遇到了这个错误。为了解决这个问题,我使用以下命令创建了一个
go.mod
文件:$ go mod init
我成功地重新运行了get命令,它下载了供应商的软件包,更新了
go.mod
文件,并创建了一个go.sum
文件。w9apscun5#
按照https://gist.github.com/nikhita/432436d570b89cab172dcf2894465753上的说明更新go版本
这对我很有效!
pgx2nnw86#
如果你在尝试使用模块时遇到这个错误,你应该在获取之前将dir更改为project:
rwqw0loc7#
当我尝试在go mod初始化目录之外的目录中运行命令时遇到了这个问题。为了下载具有特定版本的模块,go需要go.mod文件,该文件可以跟踪同一模块的多个版本。然而,尝试在go模块目录(其中GOPATH将被引用以存储下载模块)之外的任何其他地方下载模块将失败,因为没有跟踪同一模块的不同版本的选项。