Go Module

Go 1.11 之后官方支持的版本管理工具 mod。

mod 官方给出了三个命令 go help mod、go help modules、go help module-get 帮助了解使用。

开关模块支持

默认值是 auto。

GO111MODULE=off 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。
GO111MODULE=on 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。
GO111MODULE=auto 在 $GOPATH/src 外面且根目录有 go.mod 文件时,开启模块支持。

修改模块支持

export GOPROXY=https://goproxy.io 
export GO111MODULE=on 

go mod 命令

  • download download modules to local cache (下载依赖的module到本地cache【$GOPATH/go/pkg/mod/】))
  • edit edit go.mod from tools or scripts (编辑go.mod文件)
  • graph print module requirement graph (打印模块依赖图))
  • init initialize new module in current directory (再当前文件夹下初始化一个新的module, 创建go.mod文件))
  • tidy add missing and remove unused modules (增加丢失的module,去掉未用的module)
  • vendor make vendored copy of dependencies (将依赖复制到vendor下)
  • verify verify dependencies have expected content (校验依赖)
  • why explain why packages or modules are needed (解释为什么需要依赖)

example

-v 参数打印详细模块信息

  • go mod init 生成go.mod文件
  • go mod tidy 添加缺失及移除不需要的模块,生成go.sum文件
  • go mod verify 检查当前模块是否全部下载,且是否被修改。
  • go mod verdor 生成verdor文件夹

显示Import库

go list -m -json all

  • -json JSON格式显示
  • all 显示全部库

参考:Modules官方

你可能感兴趣的:(Go Module)