该文件说没有什么buildVS install呢
build
install
我的期望是,它像make install; 即,它将已编译的内容放入最终位置(/usr/local/bin/my_new_toy或其他位置),但似乎将内容放入GOROOT/bin
make install
/usr/local/bin/my_new_toy
GOROOT/bin
我可以告诉我去做make install-即把东西放在别处吗?还是我只写一个makefile(请告诉我不)?
如果要将二进制文件转到特定位置,则可以使用环境变量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