温馨提示×

Ubuntu Golang打包生成的可执行文件在哪

小樊
37
2025-11-22 20:02:30
栏目: 编程语言

默认位置

  • 使用 go build 时,若未指定 -o,可执行文件会生成在当前工作目录(运行命令时所在的目录)。可用 pwd 查看当前目录,用 ls 检查是否出现同名可执行文件。示例:cd 到项目目录后执行 go build,产物就在此目录。
  • 使用 go install 时,可执行文件会被放入 GOBIN;若未显式设置 GOBIN,则默认是 GOPATH/bin。若 GOPATH 也未设置,install 通常会失败或没有可见输出。可通过 go env GOBINgo env GOPATH 查看实际路径。

常用命令与输出位置对照

命令 输出位置 说明
go build 当前工作目录 生成与包同名的二进制文件;可用 -o 路径/文件名 自定义输出位置与名称
go install GOBIN(未设置则为 GOPATH/bin 安装到可执行文件目录;便于全局执行(需将 GOBIN 加入 PATH
go build -o /path/to/app 指定的 /path/to/app 直接把二进制写到目标路径,适合脚本化与部署场景
以上行为由 Go 的构建与安装规则决定,尤其是 -o 的显式输出与 GOBIN/GOPATH 的默认约定。

如何快速确认与自定义输出

  • 查看关键环境变量:运行 go env GOBINgo env GOPATH,确认 install 的目标目录;若 GOBIN 为空,install 会使用 GOPATH/bin
  • 指定输出目录与名称:使用 go build -o /usr/local/bin/myapp(请确保目标目录存在且当前用户有写权限)。示例:go build -o /usr/local/bin/myapp main.go。
  • 交叉编译并输出到指定目录(可选):例如 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 -o /home/user/go_binaries/myapp ./main.go,用于生成特定平台的可执行文件并放到自定义目录。

0