doctor 们对buildvsinstall的作用只字不提.

我的期望值是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

Go相关问答推荐

Go 1.22 net/http群组路由

出口上下文值密钥的安全方法?

Go:嵌入类型不能是类型参数""

如何使用Promela建模语言对Golang RWLock进行建模

为什么Slices包中的函数定义Slice参数的类型参数?

如何解析Go-Gin多部分请求中的 struct 切片

Azure golang SDK - 将 AcrPull 角色分配给 AKS 群集

如何将 goose 迁移与 pgx 一起使用?

生成一个 CSV/Excel,在 Golang 中该列的下拉选项中指定值

如何解决构建Docker Compose时的权限被拒绝问题

一个Go module可以和之前的非module模块发布在同一个路径下吗?

golang中如何声明多个接口约束?

assert: mock: I don't know what to return because the method call was unexpected 在 Go 中编写单元测试时出错

Go 中 SDL Surface 的 OpenGL 纹理

如何排除溢出矩阵的坐标

实现接口的指针的泛型类型是什么?

带有 grpc 的 protobuf 用于拆分包中的 Go

使用不安全的指针从 [] 字符串中获取值

(如何)我可以基于接口抽象地实现Stringer吗?

Go 错误:Is() 和 As() 声称是递归的,是否有任何类型实现错误接口并支持这种递归 - 无错误?