Linux go install始终使用GOROOT/bin而不是GOPATH
我对Linux go install始终使用GOROOT/bin而不是GOPATH,linux,go,debian,Linux,Go,Debian,我对go install命令有一个恼人的问题 每次我尝试在我的GOPATH的src目录中运行它时,由于某种原因,结果文件会在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 go env GOARCH
go install
命令有一个恼人的问题
每次我尝试在我的GOPATH的src
目录中运行它时,由于某种原因,结果文件会在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
go env
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"
有一个类似的问题,除了我的环境中有GOPATH(我尝试了解决方案,但没有帮助)
当我尝试创建测试库并运行go install时,我在$GOPATH/pgk/linux_amd64中创建了一个正确的文件,但不在bin目录中
我的配置中缺少什么吗?关于go
工具:
如果目录是GOPATH中列出的目录
如果设置了GOBIN环境变量,则命令将安装到它命名的目录中,而不是DIR/bin
关于这一主题,在以下方面进行了讨论:
(a) 如果不设置GOBIN环境变量,
您可以在GOROOT/bin中使用Go编译器二进制文件
而您的二进制文件将进入GOPATH/bin。
(我个人喜欢这种二进制文件的分离。)
(b) 如果你设定了你的目标,那么
Go二进制文件和您的二进制文件都将崩溃
您的解决方案是不设置您的
GOBIN
在我的情况下,它不起作用,因为尽管GOBIN是$HOME/go/bin,但“权限被拒绝”。在我的情况下(Windows 8),go安装
只会在%GOROOT%\bin
中创建二进制文件,而不是%GOPATH%\bin
。我只有GOROOT
和GOPATH
设置。我必须将GOBIN
设置为%GOPATH%\bin
才能获得go-install
以在%GOPATH%\bin
中创建二进制文件。