文档说没有什么build
VS install
确实去安装做什么?
我的期望是,它像make install
;即它需要编译的东西,并在其最终位置(/usr/local/bin/my_new_toy
或其他)提出,但它似乎把事情GOROOT/bin
我可以告诉去做一个make install
- 即把东西放在别处?或者我只写一个makefile(请告诉我不)?
文档说没有什么build
VS install
确实去安装做什么?
我的期望是,它像make install
;即它需要编译的东西,并在其最终位置(/usr/local/bin/my_new_toy
或其他)提出,但它似乎把事情GOROOT/bin
我可以告诉去做一个make install
- 即把东西放在别处?或者我只写一个makefile(请告诉我不)?
如果你想二进制文件去一个特定的位置,你可以使用环境变量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
。
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
你也可以直接用'去建立指定输出文件名 - o' – JimB
也是,我们会为了完整而将其添加到答案中。 – OneOfOne
所以去安装是一样的去建立-o $ GOPATH/bin/? –
pm100