在 Debian 上配置 Go(Golang)模块(Go Modules)一般分为安装 Go、开启模块支持、配置代理/环境变量、初始化和使用模块几个步骤。下面按常见场景说明。
sudo apt update
sudo apt install golang-go
查看版本:
go version
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
把 Go 加入 PATH(写入 ~/.bashrc 或 ~/.profile):
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
然后:
source ~/.bashrc
go version
Go 1.13+ 默认启用 Modules,无需特别开关。
可检查:
go env GO111MODULE
如果是 on 或空,就没问题。
go env -w GO111MODULE=on
go env -w GOPROXY=https://proxy.golang.org,direct
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=off
mkdir myproject
cd myproject
go mod init github.com/yourname/myproject
会生成:
go.mod
添加依赖:
go get github.com/gin-gonic/gin
运行:
go run main.go
整理依赖:
go mod tidy
~/go
├── bin
├── pkg
└── src
项目本身不需要放在 GOPATH/src 里(Go Modules 已解耦)。
不要用 sudo go
sudo chown -R $USER:$USER $HOME/go
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOPRIVATE=git.example.com
// main.go
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.String(200, "hello debian")
})
fmt.Println("running")
r.Run()
}
go mod init demo
go mod tidy
go run main.go
如果你说的是**“Debian 下怎么配置 Go 模块代理 / 私有模块 / systemd 服务 / Docker 里用 Go 模块”**,可以告诉我具体场景,我可以直接给你对应配置。