繁体   English   中英

错误“无法下载,$ GOPATH未设置。”

[英]Error “cannot download, $GOPATH not set.”

设定:

看看我的配置:

$ echo $GOPATH && ls -r $GOPATH
/home/cyrus/.go
src  pkg  bin

$ echo $GOROOT && ls $GOROOT
/usr/local/go
api  AUTHORS  bin  CONTRIBUTORS  doc  favicon.ico  include  lib  LICENSE  misc  PATENTS  pkg  README  robots.txt  src  test  VERSION

你可以看到我为$GOPATH设置了路径。 另外,我创建了我可能不需要的子目录。

题:

为什么以下命令会生成此错误消息?

$ go get code.google.com/p/go-tour/gotour                                                                                                               
package code.google.com/p/go-tour/gotour: cannot download, $GOPATH not set. For more details see: go help gopath

如果你设置一个这样的变量:

GOPATH=$HOME/go

它不会导出到任何子进程。 它仅适用于该流程。 如果要将其导出到子进程,请使用export

export GOPATH

您还可以组合分配和导出:

export GOPATH=$HOME/go

我的$ GOROOT目录是使用owner: root创建的owner: rootgroup: wheel而不是让我作为所有者,管理员作为组。 我猜我不应该使用sudo(或者某些工具为我做过)。 因此, go get无法将包写入$ GOROOT,因此$GOPATH not setpermission denied错误。

通过在我的$ GOROOT上使用chownchgrp (使用-R来获取子文件夹)'go get ...'工作。 在我的情况下,VS Code现在能够安装我以后的Go组件。

当您运行go env时,您应该能够看到您的GOPATH是否已设置。 在我的情况下,当我在终端上运行时,此命令解决了它。

export GOPATH=/usr/local/bin

我已经设置了GOPATH并且使用命令go env正确显示。 我必须使用chmod为go目录提供正确的权限,并通过go get github.com/constabulary/gb/...安装gb

首先做一个'go env'并检查路径GOROOT。 据此设置GOPATH。 在我的例子中,它必须将GOPATH设置为/ usr / lib / go。 早些时候我用/ usr / share / go和/ usr / bin / go尝试了它,但它没有用。

$ GOPATH应该是您当前的工作空间,即项目所在的文件夹。 或者只是cd~ / go并尝试运行这些命令。 或者你可以在ubuntu上更新〜/ .bashrc或〜/ .bashrc_profile中的$ GOPATH

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM