• 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源本身去拉取。

  • 相关阅读:
    Coredump-n: 内存占用太多导致应用程序起不来的一例
    【Java面试】十一、RabbitMQ相关
    数据压缩和归档(三)、tarfile
    Transformer论文精读
    《扩散模型 从原理到实战》Hugging Face (二)
    开源网络协议栈onps诞生记
    .Net使用ElasticSearch
    【MySQL】表的基础增删改查
    基于嵌入式Qt 开发板蜂鸣器(BEEP)
    10 通用同步异步收发器(USART)
  • 原文地址:https://blog.csdn.net/Jamie_Shu/article/details/125507477