One*_*One 32
如果要将二进制文件转到特定位置,可以使用环境变量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
Run Code Online (Sandbox Code Playgroud)
如果你想要每个项目bin/目录,那么你只需要附加你的项目路径GOPATH,但是你必须拥有你的代码$project-path/src/,go install并将所有二进制文件放入$project-path/bin.
export GOPATH=/dir1:/dir2:/dir3
Run Code Online (Sandbox Code Playgroud)
如果没有设置GOBIN,二进制文件从/ DIR1/src目录中/ DIR1 /箱端起来,二进制文件从/ DIR2/src目录是在/ DIR2 /箱,等等(从$ GOROOT二进制文件在$ GOROOT/src目录结束/箱).
来源:https://groups.google.com/forum/#!topic/golang- nuts/ -mN8R_Fx-7M
它完全超越了我的想法,但你可以随时使用(感谢JimB):
go build -o /path/binary-name
Run Code Online (Sandbox Code Playgroud)
Ben*_*ari 21
go build 与 go install:
go build只需编译可执行文件并将其移至目标位置即可。go install多做一点。它将可执行文件移动到$GOPATH/bin并缓存所有导入到的非主要软件包$GOPATH/pkg。如果尚未更改,则缓存将在下一次编译中使用。
go build和之后的软件包树go install:.
??? bin
? ??? hello # by go install
??? src
??? hello
??? hello # by go build
??? hello.go
Run Code Online (Sandbox Code Playgroud)