最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Ubuntu下Golang编译生成的二进制文件在哪
时间:2026-07-19 09:12:06 编辑:袖梨 来源:一聚教程网
Ubuntu中Golang编译生成的二进制文件默认位置及自定义方法

一、默认输出位置
在Ubuntu系统中,使用go build命令编译Golang项目时,默认会将二进制文件生成在当前工作目录下。这里的“当前工作目录”指执行go build命令时终端所在的目录。例如,若你的项目源代码位于/home/user/projects/hello目录,且在该目录下执行go build,则编译生成的二进制文件会直接出现在/home/user/projects/hello目录中。二进制文件的名称默认与项目目录名或main包所在文件名一致(如项目目录名为hello,则二进制文件名为hello;若源文件为main.go,则可能命名为main.out,但更常见的是与目录名同名)。
二、自定义输出路径的方法
若需将二进制文件输出到指定目录或修改文件名,可通过go build命令的-o(output)选项实现,具体格式为:go build -o <输出路径/文件名> <源文件或包路径>。
- 示例1:指定目录和文件名将二进制文件输出到
/usr/local/bin目录下,并命名为myapp,命令为:go build -o /usr/local/bin/myapp main.go执行后,二进制文件会保存在/usr/local/bin/myapp(需确保当前用户对/usr/local/bin有写入权限,否则需用sudo提升权限)。 - 示例2:输出到项目内的
bin目录为规范项目结构,建议在项目根目录下创建bin目录(用于存放编译产物),然后通过-o选项将二进制文件输出到该目录。例如:go build -o bin/myapp ./cmd/server这会将./cmd/server包编译生成的可执行文件保存到项目根目录下的bin文件夹中(需提前创建bin目录,可使用mkdir -p bin命令)。 - 示例3:跨平台编译并自定义输出若需交叉编译(如在Ubuntu上编译Windows可执行文件),可结合
GOOS(目标操作系统)、GOARCH(目标架构)环境变量和-o选项。例如:GOOS=windows GOARCH=amd64 -o bin/myapp.exe ./main.go这会生成Windows平台的可执行文件myapp.exe,并保存到项目根目录下的bin目录中。
三、注意事项
- 权限问题:若将二进制文件输出到系统目录(如
/usr/local/bin),需确保当前用户有足够的权限(可使用sudo命令,如sudo go build -o /usr/local/bin/myapp main.go)。 - 版本控制:为避免将编译产物(二进制文件)误提交到Git仓库,建议将
bin目录添加到.gitignore文件中(如添加bin/规则),以保持仓库整洁。
相关文章
- 逆战未来枪械大全 逆战未来枪械稀有度等级与获取方式详解 07-19
- 逆战未来新手攻略 逆战未来萌新入门避坑指南 07-19
- "无醇啤酒"是完全不含酒精吗 蚂蚁庄园1月17日答案早知道 07-19
- "太常寺"是古代掌管什么事务的机构 蚂蚁新村1月16日答案 07-19
- 四川名菜"开水白菜"就是用开水炖白菜吗 蚂蚁庄园1月17日答案早知道 07-19
- 蚂蚁新村今天正确答案1.16 07-19