当前位置: 首页 > 面试题库 >

go install始终尝试使用GOROOT,而go env下未列出GOPATH

晋坚
2023-03-14
问题内容

我在使用时遇到了一个非常令人沮丧的问题GOPATH,尽管已将其设置为,但.profile在调用时不会出现go env,并且似乎也不会影响go install目标位置。

我正在尝试用来go install安装软件包,并且收到此错误,该错误清楚地表明它正在尝试将其安装在/usr/lib/go,而不是的预期目录中/home/me/dev/go

$ go install github.com/songgao/colorgo
go install github.com/songgao/go.pipeline: mkdir /usr/lib/go/pkg/linux_386/github.com: permission denied

go env 给出以下结果。

$ go env
GOROOT="/usr/lib/go"
GOBIN=""
GOARCH="386"
GOCHAR="8"
GOOS="linux"
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="linux"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_386"
GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread"
CGO_ENABLED="1"

但这肯定 确定的。

$ echo $GOPATH
/home/me/dev/go

更新: 我已经导出了GOPATH ~/.profile并获取了它,但是我仍然遇到相同的问题。

$ export GOPATH=/home/me/dev/go
$ go env
GOROOT="/usr/lib/go"
GOBIN=""
GOARCH="386"
GOCHAR="8"
GOOS="linux"
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="linux"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_386"
GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread"
CGO_ENABLED="1"

再次更新: 自从我升级到go1.1beta2以来,此问题已不再存在。我不确定出什么问题了,因为GOPATH似乎设置正确,但现在看来一切正常。


问题答案:

GOPATH 和工作区

$ mkdir -p $HOME/dev/go/src
$ mkdir -p $HOME/dev/go/bin

$HOME/.profile

export GOPATH=$HOME/dev/go:
export PATH=$PATH:$HOME/dev/go/bin

然后重新启动或注销并登录。

登录后,请先运行:

$ env | grep -i '^GO'
GOPATH=/home/me/dev/go
$ cat $HOME/.profile

你得到什么输出?



 类似资料:
  • Go Version Management: goenv goenv aims to be as simple as possible and follow the already establishedsuccessful version management model of pyenv and rbenv. This project was cloned from pyenv and mod

  • 问题内容: 我了解都和工作。我想知道是否有什么可以做的? 即可以使用以下模式替换: 我想问的是,我想让Python OO的这一方面更适合我。 问题答案: guido帖子中的一个可能答案(感谢@ fraca7): 例如,在pickle模块中,用于反序列化对象时创建实例。在这种情况下,将创建实例,但不会调用该方法。 还有其他类似的答案吗? 我接受这个答案是对我自己的问题的“是”: 我想知道是否有什么可

  • ...在Xcode控制台,我得到 它演示了建立了连接并成功找到了服务器,但其他问题出现了。会很感激你的帮助。

  • 问题内容: 借助Halfdans的建议,在首先安装git之后,我能够成功使用goinstallgithub.com/hoisie/web.go而没有任何错误。但是,现在当我尝试编译给出的示例代码时,go找不到了Web包。我得到了错误 关于此代码 为了识别包装,我需要做些特别的事情吗?我在$ GOROOT / src / pkg / github.com / hoisie / web.go / we

  • 我正在尝试使用java。util。Eclipse中Java项目中的ArrayList。它在这个IDE上解决起来很有趣,与我在NetBeans上的习惯相反。例如: 在NetBeans上,我可以简单地创建一个通用数组列表,如下所示: 但是,在Eclipse上,如果要成功声明和初始化ArrayList,结构如下: 我被迫做一个类型转换,而泛化只能在右侧完成。 然而,这还不算太糟糕,直到我尝试调用一些Ar

  • 我无法使用Java在AWS Lambda上使用以下逻辑: 1) 当在S3 bucket中创建新对象时,触发lambda函数(用java编写) 2) 在这个lambda函数中,列出所有DynamoDB表。 3) 如果没有,请创建一个表。 4) 将S3对象的详细信息作为项写入DynamoDB。 我只让第1项起作用。当它到达第2项时,我在下面遇到了一个与权限相关的错误。 有什么帮助或建议吗? 我使用的权