温馨提示×

Debian安装Golang要注意什么

小樊
46
2026-09-20 13:35:18
栏目: 编程语言

在 Debian 上安装 Go(Golang)时,有几个容易踩坑和推荐做法需要注意。下面按场景给你说明。


一、不要直接用 apt install golang(除非你清楚版本)

Debian 仓库里的 Go 通常是旧版本:

apt show golang

例如 Debian 11 可能是 Go 1.15,Debian 12 可能是 1.19,而官方已经到 1.2x。

✅ 建议:
除非你只是临时用一下,否则推荐从官方下载。


二、推荐:官方二进制安装(最稳妥)

1. 下载(以 amd64 为例)

cd /tmp
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz

2. 解压到 /usr/local

sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz

3. 配置 PATH

编辑 ~/.bashrc 或 ~/.profile:

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

生效:

source ~/.bashrc

验证:

go version

三、GOPATH 与模块模式(重要)

现代 Go 默认使用 Go Modules,不需要手动设 GOPATH。

但注意:

  • GOPATH 默认是 ~/go
  • 依赖会缓存到 ~/go/pkg/mod

如果你在服务器或多用户环境:

export GOPATH=/opt/gopath
export PATH=$PATH:$GOPATH/bin

四、国内网络问题(中国大陆用户必看)

Go 模块下载经常被墙,建议设置代理:

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

或:

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

关闭校验(一般不用):

go env -w GOSUMDB=off

五、systemd 服务运行 Go 程序注意点

如果你用 Go 写服务:

  • 用 非 root 用户 运行
  • 设置 WorkingDirectory
  • 注意 GOPATH 和环境变量在 systemd 里不会自动继承

示例:

[Unit]
Description=Go App

[Service]
User=app
WorkingDirectory=/opt/myapp
Environment=PATH=/usr/local/go/bin:/usr/bin
ExecStart=/opt/myapp/app

[Install]
WantedBy=multi-user.target

六、交叉编译很方便(Debian 优势)

GOOS=linux GOARCH=arm64 go build

不需要额外工具链。


七、常见坑总结

问题 说明
apt 版本太旧 不建议生产使用
PATH 没配 go: command not found
模块下载慢 必须配 GOPROXY
root 运行 Go 不安全
systemd 没环境 Go 程序启动失败

八、快速检查清单 ✅

  • [ ] 使用官方 Go
  • [ ] go version 正常
  • [ ] 设置了 GOPROXY
  • [ ] 非 root 运行服务
  • [ ] 知道 GOPATH 位置

如果你告诉我:

  • Debian 版本(11 / 12)
  • 用途(开发 / 服务器 / CI)
  • 是否国内网络

我可以给你更精确的安装方案。

0 踩