首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >go安装总是使用GOROOT/bin而不是GOPATH

go安装总是使用GOROOT/bin而不是GOPATH
EN

Stack Overflow用户
提问于 2013-07-16 04:01:23
回答 1查看 8.2K关注 0票数 6

我对go install命令有一个恼人的问题。

每次我试图在我的src GOPATH目录中运行它时,由于某种原因,将在GOROOT/bin目录中创建生成的文件。

我在.bashrc中验证了我的环境变量,也运行了“go env”(见下文),没有发现任何问题:

.bashrc

代码语言:javascript
复制
export GOBIN=$HOME/dev/src/go/bin
export GOPATH=$HOME/dev/go-dev
export PATH=$PATH:$GOBIN:$GOPATH/bin

go env

代码语言:javascript
复制
GOARCH="amd64"
GOBIN="/home/user/dev/src/go/bin"
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/dev/go-dev"
GORACE=""
GOROOT="/home/user/dev/src/go"
GOTOOLDIR="/home/user/dev/src/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"

这个职位也有类似的问题,除了我的env中有GOPATH (我尝试了这个解决方案,但没有帮助)。

当我尝试创建测试库使用官方GoLang站点并运行go安装时,我在$GOPATH/pgk/linux_ and 64中创建了一个正确的文件,但没有在bin目录中创建。

我的配置中遗漏了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-16 04:17:24

关于正式文件工具的go

如果DIR是GOPATH中列出的目录..。 如果设置了GOBIN环境变量,则命令将安装到它命名的目录中,而不是DIR/bin。

邮寄名单上对这一主题进行了讨论,并对此作了进一步解释:

(a)如果不设置GOBIN env变量,则使Go编译器二进制文件在GOROOT/bin中运行,而二进制文件则在GOPATH/bin中运行。(我个人喜欢双星分离。) (b)如果您将GOBIN设置为任何东西,那么Go二进制文件和您的二进制文件都将转到GOBIN。

在您的情况下,解决方案是不设置GOBIN

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17667803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档