在 Debian 上配置 Go(Golang)环境,有几个常见坑和最佳实践需要注意。下面按「安装方式 → 环境变量 → 权限与目录 → 版本管理 → 常见问题」给你梳理一下。
Debian 自带仓库的 golang 往往版本偏旧,不建议直接 apt install golang。
# 以 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
apt install golang(版本旧)编辑用户环境变量(推荐 ~/.profile 或 ~/.bashrc):
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
然后:
source ~/.bashrc
go version
✅ 检查:
which go
# 应输出 /usr/local/go/bin/go
GOPATH/srcmkdir ~/projects/hello
cd ~/projects/hello
go mod init hello
$HOME/go$GOPATH/bin⚠️ 注意:
$GOPATH/bin 必须加入 PATH,否则 go install 后命令用不了sudo tar -C /usr/local -xzf go*.tar.gz
go env -w GOPROXY=https://goproxy.cn,direct
其他可选:
go env -w GOSUMDB=off # 仅内网/测试环境
查看当前配置:
go env
如果你需要多个 Go 版本:
go 目录切换(简单)/usr/local/go1.21
/usr/local/go1.22
手动改软链:
sudo ln -sf /usr/local/go1.22 /usr/local/go
如果 Go 程序作为服务运行:
[Service]
User=appuser
WorkingDirectory=/opt/myapp
ExecStart=/opt/myapp/app
⚠️ 注意:
~/.bashrc 里的环境变量Environment=| 问题 | 原因 |
|---|---|
go: command not found |
PATH 没配置 |
cannot find package |
GOPROXY 没设 |
permission denied |
用 root 装了 Go 但普通用户跑 |
go install 后命令找不到 |
$GOPATH/bin 没进 PATH |
如果你告诉我:
我可以给你一套针对性配置方案。