我遇到了一个非常令人沮丧的问题GOPATH,尽管设置在 中,但.profile在调用时没有出现go env,并且似乎没有影响go install目标位置。我试图使用go install安装软件包,并正在此错误,这清楚地表明,它正试图安装的/usr/lib/go,而不是预期的目录/home/me/dev/go。$ go install github.com/songgao/colorgogo install github.com/songgao/go.pipeline: mkdir /usr/lib/go/pkg/linux_386/github.com: permission deniedgo env 给出以下结果。$ go envGOROOT="/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 envGOROOT="/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似乎设置正确,但现在显然一切正常。
3 回答
函数式编程
TA贡献1807条经验 获得超9个赞
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
你得到什么输出?
湖上湖
TA贡献2003条经验 获得超2个赞
当您提供设置 GOPATH 的证据时,您问题的第二部分 - GOPATH 未在 go env 下列出 - 可能是由您安装的版本的“go env”引起的。go1 (linux) 和 go1.0.2 (windows) 版本的“go env”都不显示 GOPATH。如果你看一下源(GOROOT / src目录/ CMD /去/ env.go),你会发现就在顶部元素显示(mkEnv)与GOROOT开始,并列表中不包含GOPATH。
版本 go1.0.3 (windows) 确实显示 GOPATH;但是,源中的相应列表以 GOARCH 开头。
我承认这并不能解决您问题的第一部分——(试图)安装到 GOROOT 中——但也许以上内容可以帮助您专注于罪魁祸首(构建过程)。
- 3 回答
- 0 关注
- 229 浏览
添加回答
举报
0/150
提交
取消