温馨提示×

debian下如何编译golang

小樊
45
2026-09-05 08:31:59
栏目: 编程语言

在 Debian 下编译(构建)Go 程序通常有两种情况:
1️⃣ 安装 Go 环境并编译自己的 Go 程序
2️⃣ 从源码编译 Go 工具链本身

下面分别说明。


一、在 Debian 下编译 Go 程序(最常见)

1. 安装 Go

sudo apt update
sudo apt install golang-go

查看版本:

go version

Debian 稳定版的 Go 版本可能较旧,如需新版本,建议用官方二进制包。

使用官方 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

添加环境变量:

export PATH=$PATH:/usr/local/go/bin

2. 编译 Go 程序

假设有 main.go:

go build main.go

生成可执行文件:

./main

或者指定输出名:

go build -o myapp main.go

3. 常用编译参数

go build -v        # 显示编译过程
go build -race     # 竞态检测
go build -ldflags "-s -w"  # 去除调试信息,减小体积

交叉编译(例如在 Debian 上编译 Windows 程序):

GOOS=windows GOARCH=amd64 go build

二、从源码编译 Go 工具链(不常用)

适用于:

  • 研究 Go 源码
  • 使用未发布版本

1. 安装依赖

sudo apt install git gcc make

2. 下载 Go 源码

git clone https://go.googlesource.com/go
cd go
git checkout go1.22.5

3. 编译

cd src
./make.bash

编译完成后:

../bin/go version

三、常见问题

1. go: command not found

说明 PATH 没配置好:

export PATH=$PATH:/usr/local/go/bin

2. 权限问题

不要使用 root 编译项目,建议普通用户。

3. 代理设置(国内)

go env -w GOPROXY=https://goproxy.cn,direct

如果你是指 交叉编译 / 静态编译 / 编译 CGO 程序 / 编译 Docker 内 Go,可以告诉我具体场景,我可以给更针对性的方案。

0 踩