温馨提示×

golang在linux如何配模块

小樊
37
2026-10-18 20:14:20
栏目: 编程语言

在 Linux 下配置 Go(Golang)的模块(Go Modules),主要是设置环境变量和使用 go mod 命令。下面按从零开始说明。


一、安装 Go(确认环境)

go version

如果没有安装:

sudo apt update
sudo apt install golang-go

或者官方方式(推荐):

wget https://go.dev/dl/go1.22.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.3.linux-amd64.tar.gz

编辑 ~/.bashrc 或 ~/.zshrc:

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

生效:

source ~/.bashrc

二、开启 Go Modules(关键)

Go 1.13+ 默认开启模块,但建议显式设置:

go env -w GO111MODULE=on

查看当前配置:

go env

三、配置代理(Linux 下非常重要)

国内推荐:

go env -w GOPROXY=https://goproxy.cn,direct

或者官方:

go env -w GOPROXY=https://proxy.golang.org,direct

关闭校验(可选,不推荐生产):

go env -w GOSUMDB=off

四、创建一个 Go 模块项目

mkdir myproject
cd myproject
go mod init github.com/yourname/myproject

会生成:

go.mod

示例 go.mod:

module github.com/yourname/myproject

go 1.22

五、添加依赖(自动管理)

写代码:

package main

import (
    "fmt"
    "github.com/gin-gonic/gin"
)

func main() {
    r := gin.Default()
    r.GET("/", func(c *gin.Context) {
        c.JSON(200, "ok")
    })
    r.Run()
}

然后:

go mod tidy

会自动:

  • 下载依赖
  • 写入 go.mod
  • 生成 go.sum

六、常用命令

go mod init        # 初始化模块
go mod tidy        # 清理并下载依赖
go mod download    # 下载依赖
go mod vendor      # 生成 vendor 目录
go list -m all     # 查看依赖
go get pkg@version # 安装指定版本

七、离线 / 内网环境(可选)

go mod vendor
go build -mod=vendor

八、常见问题

1. 私有仓库

go env -w GOPRIVATE=git.company.com

2. 模块缓存位置

$HOME/go/pkg/mod

3. 清除缓存

go clean -modcache

如果你有具体场景(如内网、私有 GitLab、Docker、CI),可以告诉我,我可以给你更针对性的配置。

0 踩