一尘不染

去安装做什么?

go

该文件说没有什么buildVS install

我的期望是,它像make install;
即,它将已编译的内容放入最终位置(/usr/local/bin/my_new_toy或其他位置),但似乎将内容放入GOROOT/bin

我可以告诉我去做make install-即把东西放在别处吗?还是我只写一个makefile(请告诉我不)?


阅读 239

收藏
2020-07-02

共1个答案

一尘不染

如果要将二进制文件转到特定位置,则可以使用环境变量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
2020-07-02