在 Debian 上安装 Go(Golang)时,有几个容易踩坑和推荐做法需要注意。下面按场景给你说明。
apt install golang(除非你清楚版本)Debian 仓库里的 Go 通常是旧版本:
apt show golang
例如 Debian 11 可能是 Go 1.15,Debian 12 可能是 1.19,而官方已经到 1.2x。
✅ 建议:
除非你只是临时用一下,否则推荐从官方下载。
cd /tmp
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
/usr/localsudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
编辑 ~/.bashrc 或 ~/.profile:
export PATH=$PATH:/usr/local/go/bin
生效:
source ~/.bashrc
验证:
go version
现代 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
如果你用 Go 写服务:
WorkingDirectoryGOPATH 和环境变量在 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
GOOS=linux GOARCH=arm64 go build
不需要额外工具链。
| 问题 | 说明 |
|---|---|
| apt 版本太旧 | 不建议生产使用 |
| PATH 没配 | go: command not found |
| 模块下载慢 | 必须配 GOPROXY |
| root 运行 Go | 不安全 |
| systemd 没环境 | Go 程序启动失败 |
go version 正常如果你告诉我:
我可以给你更精确的安装方案。