在 Debian 系统上管理 Golang(Go)包,通常可以从 系统级(apt) 和 项目级(Go Modules) 两个维度来理解。下面分情况说明,并给出推荐做法。
Debian 通过 apt 提供 Go 工具链和部分库。
sudo apt update
sudo apt install golang-go
查看版本:
go version
⚠️ Debian 仓库中的 Go 版本通常较旧,生产或新项目不推荐依赖它。
dpkg -l | grep golang
sudo apt install golang-github-xxxx-dev
例如:
sudo apt install golang-github-spf13-cobra-dev
这些包通常安装在:
/usr/share/golang/src/
⚠️ 问题:
现代 Go(1.11+)使用 Go Modules,这是官方推荐方式。
mkdir myproject
cd myproject
go mod init example.com/myproject
go get github.com/gin-gonic/gin
或指定版本:
go get github.com/gin-gonic/gin@v1.9.1
go mod tidy # 清理无用依赖
go mod download # 下载依赖
go mod verify # 校验依赖
依赖记录在:
go.modgo.sumgo build
go run main.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
配置环境变量(~/.bashrc 或 ~/.zshrc):
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
| 方式 | 适用场景 | 推荐度 |
|---|---|---|
| apt 安装 Go | 学习 / 简单脚本 | ⭐⭐ |
| apt 安装 Go 库 | 系统工具 | ⭐ |
| 官方 Go + Modules | 所有项目 | ⭐⭐⭐⭐⭐ |
| GOPATH(老方式) | 旧项目 | ❌ |
如果你是 把 Go 程序打包成 .deb:
dh-make-golangnfpm / fpm 自行打包示例:
sudo apt install dh-make-golang
最佳实践:
go mod如果你有具体需求(比如:
可以告诉我,我可以给你更具体的方案。