gpt4 book ai didi

linux - go install 总是使用 GOROOT/bin 而不是 GOPATH

转载 作者:IT王子 更新时间:2023-10-29 01:08:46 43 4
gpt4 key购买 nike

我在使用 go install 命令时遇到了烦人的问题。

每次我尝试在 GOPATHsrc 目录中运行它时,结果文件都会在 GOROOT/bin 目录中创建一些原因。

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

.bashrc

export GOBIN=$HOME/dev/src/go/bin
export GOPATH=$HOME/dev/go-dev
export PATH=$PATH:$GOBIN:$GOPATH/bin

去环境

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"

This post有类似的问题,除了我的环境中有 GOPATH(我尝试了解决方案,但没有帮助)。

当我尝试创建测试库时 using official GoLang site然后运行 ​​go install 我在 $GOPATH/pgk/linux_amd64 中创建了一个正确的文件,但不在 bin 目录中。

我的配置中是否遗漏了什么?

最佳答案

Official documentation关于 go 工具:

If DIR is a directory listed in the GOPATH...

If the GOBIN environment variable is set, commands are installed to the directory it names instead of DIR/bin

mailing list 上有关于这个话题的讨论。进一步解释的地方:

(a) If you don't set your GOBIN env variable, you get the Go compiler binaries going in GOROOT/bin whereas the your binaries are going in GOPATH/bin. (I personally like this separation of binaries.)

(b) If you set your GOBIN to anything, then both the Go binaries and your binaries are going to GOBIN.

您的解决方案是不设置您的 GOBIN

关于linux - go install 总是使用 GOROOT/bin 而不是 GOPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17667803/

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