温馨提示×

debian中如何编译golang

小樊
44
2026-10-19 20:43:51
栏目: 编程语言

在 Debian 系统中编译(构建)Go(Golang)程序,通常分为 安装 Go 环境 和 编译 Go 程序 两部分。下面按常见场景说明。


一、在 Debian 上安装 Go

方法 1:使用 Debian 官方仓库(简单,但版本可能较旧)

sudo apt update
sudo apt install golang-go

查看版本:

go version

⚠️ Debian 稳定版的 Go 版本通常偏旧,不建议用于新项目。


方法 2:官方二进制包(推荐,版本新)

  1. 到官网查看最新版本:https://go.dev/dl/
  2. 下载并安装(示例为 amd64):
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
  1. 配置环境变量(写入 ~/.bashrc 或 ~/.profile):
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
  1. 使配置生效:
source ~/.bashrc
  1. 验证:
go version

二、编译 Go 程序

1. 编译当前目录的主程序

假设有 main.go:

go build

会生成与目录同名的二进制文件。


2. 指定输出文件名

go build -o myapp

3. 交叉编译(例如在 Debian 上编译 Linux 程序)

GOOS=linux GOARCH=amd64 go build -o myapp

其他示例:

# Windows
GOOS=windows GOARCH=amd64 go build

# macOS
GOOS=darwin GOARCH=arm64 go build

4. 编译并运行(不生成文件)

go run main.go

5. 启用模块(现代 Go 项目)

go mod init example.com/myproject
go build

三、常见问题

1. go: command not found

说明 PATH 没配置好,确认:

which go

若为空,检查 /usr/local/go/bin 是否在 PATH 中。


2. 编译很慢

可开启编译缓存(默认已开启),或设置:

export GOCACHE=$HOME/.cache/go-build

3. 静态编译(无依赖)

CGO_ENABLED=0 go build -o myapp

如果你有 具体场景(例如交叉编译、Docker、systemd 运行、ARM 板子等),可以告诉我,我可以给你更精确的命令。

0 踩