温馨提示×

golang在ubuntu怎么编译

小樊
45
2026-09-25 15:39:54
栏目: 编程语言

在 Ubuntu 上编译 Go(Golang)程序,一般有两种常见情况:


一、编译已有的 Go 程序(最常见)

1. 安装 Go 环境

先确认是否安装:

go version

如果没有,安装:

sudo apt update
sudo apt install golang-go

或使用官方版本(推荐):

wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz

添加到环境变量(~/.bashrc 或 ~/.zshrc):

export PATH=$PATH:/usr/local/go/bin
source ~/.bashrc

2. 编译 Go 程序

假设有文件 main.go:

go build main.go

会生成可执行文件 main(无后缀):

./main

指定输出文件名:

go build -o myapp main.go

二、编译整个 Go 模块项目

如果是项目(有 go.mod):

go mod init example.com/demo   # 初始化(仅需一次)
go build

或:

go build ./...

三、交叉编译(例如编译 Windows / macOS)

# Windows
GOOS=windows GOARCH=amd64 go build -o app.exe

# macOS
GOOS=darwin GOARCH=amd64 go build -o app_mac

四、常见问题

1. go: command not found

说明 Go 没装或 PATH 没配置好。

2. 权限问题

chmod +x myapp

3. 依赖下载慢

go env -w GOPROXY=https://proxy.golang.org,direct

如果你是指:

  • 从源码编译 Go 语言本身
  • 编译带 CGO 的程序
  • 在 Docker / CI 中编译

可以告诉我具体场景,我给你更详细的步骤。

0 踩