gpt4 book ai didi

go - go环境变量的问题

转载 作者:IT王子 更新时间:2023-10-29 01:49:23 26 4
gpt4 key购买 nike

我试图在我的 .go 文件上运行 go install 但是,它似乎失败了。它失败了,因为我的 GOBIN 环境变量没有设置。但是,当我回应它时,我确实得到了它的设置,因为我的 .bashrc 和 .bash_profile 文件确保了它的设置。但是在go env中并没有设置。出于某种原因,go 在实际设置时无法识别其设置。

但是,如果我在 shell 上手动设置为:

me$ export GOBIN=$GOBIN

现在 go env 决定识别它,尽管我在我的 .bashrc 文件中有明确的行导出它并且我的 echo 确认它的设置。有人知道为什么 go 表现得很奇怪吗?

我尝试过的东西/引用

我的操作系统

mac osx 特立独行者。

GO 版本

-我的go版本是go版本go1.2 darwin/386。当我运行时

go version

我得到:

go version go1.2 darwin/386

go env识别什么和环境变量

运行

go env

在我的终端显示:

GOARCH="386"
GOBIN=""
GOCHAR="8"
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH=""
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_386"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread -fno-common"
CXX="g++"
CGO_ENABLED="1"

我的 .bashrc 和 .bash_profile 是什么样的

我在我的 .bash_profile 中获取我的 .bashrc 文件。 IE。这是我的 .bash_profile 中的这段代码:

if [ -f ~/.bashrc ]; then
source ~/.bashrc #executes for bash subshells
fi

我也尝试过手动(手动我的意思是作为人类明确地在 bash 上输入它)获取我的 .bash_profile(因为无论如何都会运行我的 .bashrc 文件)并且 go env 仍然无法识别它。

只有当我按字面意思输入我的 shell 时

me$ export GOBIN=$GOBIN

go env 是否返回我想要的:

GOARCH="386"
GOBIN="/Users/brando90/go/bin"
GOCHAR="8"
GOEXE=""
GOHOSTARCH="386"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH=""
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_386"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread -fno-common"
CXX="g++"
CGO_ENABLED="1"

最佳答案

在你相关的 shell 配置文件中试试这个:

export GOPATH=/path/to/your/go/workspace
export PATH=$GOPATH/bin:$PATH

不要设置 GOBIN 因为它对 99% 的情况都没有用(即单用户机器;see the cmd docs)。确保在进行这些更改后取消设置 GOBIN

Go 会知道在哪里安装二进制文件,因为 GOPATH/{bin, pkg, src} 是 Go 为您处理的事情。另一方面,您的 shell 需要知道将 $GOPATH/bin 添加到您的路径中,以便您可以直接运行 Go 二进制文件。

关于go - go环境变量的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21371805/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com