如果要将二进制文件转到特定位置,可以使用环境变量 GOBIN :
GOBIN
bin /目录保存已编译的命令。每个命令都以。命名 它的源目录,但只有最终元素,而不是整个路径。 也就是说,安装了DIR / src / foo / quux中包含源的命令 DIR / bin / quux,而不是DIR / bin / foo / quux。 foo /被剥离以便你 可以将DIR / bin添加到PATH以获取已安装的命令。 的 如果 设置GOBIN环境变量,将命令安装到 它命名的目录而不是DIR / bin。 强>
资源 : http://golang.org/cmd/go/#hdr-GOPATH_environment_variable
GOBIN=/usr/local/bin/ go install
如果你想要每个项目 bin/ 然后,您只需将项目路径追加到 GOPATH 但是你必须拥有你的代码 $project-path/src/ 和 go install 将所有二进制文件放入 $project-path/bin 。
bin/
GOPATH
$project-path/src/
go install
$project-path/bin
export GOPATH=/dir1:/dir2:/dir3
如果未设置GOBIN,/ dir1 / src中的二进制文件最终会出现在/ dir1 / bin中, 来自/ dir2 / src的二进制文件最终在/ dir2 / bin中,依此类推(和二进制文件 从$ GOROOT / src结束$ GOROOT / bin)。
资源 : https://groups.google.com/forum/#!topic/golang-nuts/-mN8R_Fx-7M
它完全超越了我的想法,但你可以随时使用(感谢JimB):
go build -o /path/binary-name
go build
go install:
go build 只需编译可执行文件并将其移动到目标。 go install 做多一点。它将可执行文件移动到 $GOPATH/bin 并缓存导入到的所有非主包 $GOPATH/pkg 。如果没有,缓存将在下一次编译中使用 改变了。
$GOPATH/bin
$GOPATH/pkg
. ������ bin �� ������ hello # by go install ������ src ������ hello ������ hello # by go build ������ hello.go
更完整的参考 。