登录
首页 >  Golang >  Go问答

go install 总是尝试使用 GOROOT 并且 GOPATH 未在 go env 下列出

来源:Golang技术栈

时间:2023-04-12 16:25:33 311浏览 收藏

大家好,今天本人给大家带来文章《go install 总是尝试使用 GOROOT 并且 GOPATH 未在 go env 下列出》,文中内容主要涉及到golang,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

我有一个非常令人沮丧的问题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

你得到什么输出?

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>