• Go Modules模式


    Go Modules模式

    (1)go mod 命令

    命令作用
    go mod init生成 go.mod 文件
    go mod download下载 go.mod 文件中指明的所有依赖
    go mod tidy整理现有的依赖
    go mod graph查看现有的依赖结构
    go mod edit编辑 go.mod 文件
    go mod vendor导出项目所有的依赖到 vendor 目录
    go mod verify校验一个模块是否被篡改过
    go mod why查看为什么需要依赖某模块

    (2)go mod 环境变量

    可以通过 go env 命令来进行查看

    GO111MODULE="on"
    GOPROXY="https://goproxy.cn,direct"
    GOROOT="..."
    GOSUMDB="sum.golang.org"
    GOTMPDIR=""
    ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    GO111MODULE

    Go 语言提供了GO111MODULE这个环境变量来作为 Go modules 的开关,其允许设置以下参数:

    • auto:只要项目包含了 go.mod 文件的话启用 Go modules。
    • on:启用 Go modules,推荐设置。
    • off:禁用 Go modules,不推荐。

    可以通过 go env -w GO111MODULE=on 来设置。

    GOPROXY

    这个环境变量主要是用于设置 Go 模块代理(Go module proxy),其作用是用于使 Go 在后续拉取模块版本时直接通过镜像站点来快速拉取。

    • GOPROXY 的默认值是:https://proxy.golang.org,direct
    • proxy.golang.org 国内访问不了,需要设置国内的代理
      • 阿里云:https://mirrors.aliyun.com/goproxy/
      • 七牛云:https://goproxy.cn,direct
    go env -w GOPROXY=https://proxy.golang.org,direct
    
    • 1

    direct的含义:指示符。指示go回源到模块版本的原地址去拉取。

    比如一个模块 “github.com/xxx/json”,首先会到https://proxy.golang.org中去抓取,如果找不到,会去github.com/xxx/json源本身去拉取。

  • 相关阅读:
    【c#】反射
    python gdal警告Warning无法关闭
    [并发编程基础]-集合的线程安全
    QT系列第1节 QT中窗口使用简介
    Java内存模型-JMM
    彩灯控制器设计 74ls160+ne555实现
    修改 echarts 默认样式记录
    多任务学习(MTL)--学习笔记
    目标识别项目实战:基于Yolov7-LPRNet的动态车牌目标识别算法模型(二)
    Java FTP按关键字批量下载文件
  • 原文地址:https://blog.csdn.net/Jamie_Shu/article/details/125507477