在 CentOS 上配置 Golang 模块(Go Modules),一般分几步:安装 Go、开启模块支持、配置代理(非常重要,国内必配)、初始化和使用模块。
# 以 go1.22 为例
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 或 /etc/profile):
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
生效:
source ~/.bashrc
go version
sudo yum install golang -y
go version
Go 1.13+ 默认开启:
go env GO111MODULE
# 应为 on
如果不是:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
或:
go env -w GOPROXY=https://proxy.golang.org,direct
查看:
go env GOPROXY
mkdir myproject
cd myproject
go mod init github.com/yourname/myproject
会生成:
go.mod
// main.go
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.JSON(200, "ok")
})
fmt.Println("running")
r.Run()
}
go mod tidy
会自动更新:
go.mod
go.sum
go mod init # 初始化
go mod tidy # 清理/补全依赖
go get pkg@version # 添加依赖
go mod download # 下载依赖
go build # 编译
go run main.go # 运行
✅ 一定是没配 GOPROXY
go env -w GOPRIVATE=git.example.com
确保能访问:
如果你愿意,可以告诉我:
我可以给你更精确的配置方案。