doctor 们对build
vsinstall
的作用只字不提.
我的期望值是make install
;i、 e.它把编译好的东西放在最终位置(/usr/local/bin/my_new_toy
或其他),但似乎把东西放在了GOROOT/bin
我能告诉你go 做make install
码吗--也就是把东西放在别处?或者我只是写一个Makefile(请告诉我否)?
doctor 们对build
vsinstall
的作用只字不提.
我的期望值是make install
;i、 e.它把编译好的东西放在最终位置(/usr/local/bin/my_new_toy
或其他),但似乎把东西放在了GOROOT/bin
我能告诉你go 做make install
码吗--也就是把东西放在别处?或者我只是写一个Makefile(请告诉我否)?
如果希望二进制文件转到特定位置,可以使用环境变量GOBIN
:
bin/目录保存编译后的命令.每个命令都是根据以下名称命名的 它的源目录,但只有最后一个元素,而不是整个路径. 也就是说,源代码在DIR/src/foo/quux中的命令安装到 dir/bin/quux,而不是dir/bin/foo/quux.Foo/被剥离,这样您就可以 可以将DIR/bin添加到您的路径中以获取已安装的命令.If the GOBIN environment variable is set, commands are installed to the directory it names instead of DIR/bin.个
来源:http://golang.org/cmd/go/#hdr-GOPATH_environment_variable
GOBIN=/usr/local/bin/ go install
如果您想要每个project bin/
目录,那么您可以简单地将项目路径附加到GOPATH
,但是您必须将代码置于$project-path/src/
之下,go install
将把所有二进制文件置于$project-path/bin
之下.
export GOPATH=/dir1:/dir2:/dir3
如果未设置GOBIN,则来自/dir1/src的二进制文件最终会出现在/dir1/bin中,
资料来源:https://groups.google.com/forum/#!topic/golang-nuts/-mN8R_Fx-7M
你也可以使用(谢谢JimB):
go build -o /path/binary-name