在Ubuntu 16.04中出现GOPATH错误“开始:无法在GOPATH模式下使用path @ version语法”

zer*_*ero 13 go gopath

我无法go get git@github<user/repo>在我的$GOPATH文件夹中运行。收到此错误:

go:在GOPATH模式下不能使用path @ version语法

我只是想了解为什么go get即使$GOPATH在安装过程中进行了配置也无法正常工作。环境是ubuntu。

~/$ echo $GOPATH
/home/user/go
Run Code Online (Sandbox Code Playgroud)

cz.*_*ain 18

我也遇到了这个问题。经过一番搜索,下面的工作通过使用go mod代替go get,这是Golang 模块的一个特性:

$ 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/v3@v3.0.0
Run Code Online (Sandbox Code Playgroud)


ema*_*axi 8

我遇到了同样的问题,并解决了export GO111MODULE=on在.zshrc(或.bashrc,具体取决于所使用的shell)中设置特定的env变量并重新启动该shell以启用模块的问题。您可以在这里找到更多详细信息:https : //github.com/golang/go/wiki/Modules

  • 我不确定这是否真的解决了问题?!我的意思是,这个环境变量禁用了“GOPATH 模式”(从 Go v1.13 开始默认情况下禁用),但 `git@github&lt;user/repo&gt;` 仍然不是“path@version 语法”,所以它还是不行? (2认同)

Fec*_*ore 8

$ go get github.com/<user>/<repo>@<version>在我用模块初始化我的项目之前,在一个空项目上运行时,我在 Go v1.14 上遇到了这个错误。

为了解决,我go.mod使用以下方法创建了一个文件:

$ go mod init

我能够成功地重新运行 get 命令,该命令下载了供应商的软件包、更新了go.mod文件并创建了一个go.sum文件。


小智 6

如果您在尝试使用模块时遇到此错误,您应该在 go get 之前将目录更改为项目:

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
Run Code Online (Sandbox Code Playgroud)


rob*_*b74 5

正如您已经注意到的,您应该使用go get github.com/<user>/<repo>

您看到的错误消息来自go get为支持Go模块而实现的新功能-您现在还可以指定依赖项的版本:go get github.com/<user>/<repo>@<version>,其中version是使用semver的git标记,例如v1.0.2