我在目录中有一个小的go程序:
~/gocode/src/github.com/elviejo79/goexample/
Run Code Online (Sandbox Code Playgroud)
当我执行
go install
Run Code Online (Sandbox Code Playgroud)
程序确实编译但它将可执行文件保存在与代码相同的目录中.
但根据如何编写Go代码,二进制文件实际上应保存在
~/gocode/bin
Run Code Online (Sandbox Code Playgroud)
这是我的$ GOPATH
$ echo $GOPATH
/home/agarcia/gocode
Run Code Online (Sandbox Code Playgroud)
无法重现这一点.请输入
$ go env
Run Code Online (Sandbox Code Playgroud)
并验证GOBIN指向的位置.例如,在我现在的机器上,它说
09:01 myname@tux64:~$ go env
GOARCH="amd64"
GOBIN="/home/myname/bin"
GOCHAR="6"
GOEXE=""
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/myname"
GOROOT="/home/myname/go"
GOTOOLDIR="/home/myname/go/pkg/tool/linux_amd64"
CGO_ENABLED="1"
09:01 myname@tux64:~$
Run Code Online (Sandbox Code Playgroud)
go工具应该将二进制文件发送到$ GOBIN.它就是这样的.