美文网首页程序员
Go 包管理之module

Go 包管理之module

作者: jouyouyun | 来源:发表于2018-11-27 22:11 被阅读79次

Go Module 使用

Go Module 是官方用来管理 package 依赖的工具, 1.11 新加的, 使用时需要设置变量: GO111MODULE=on .

go mod help 可以查看其帮助文档:

$ go help mod
Go mod provides access to operations on modules.

Note that support for modules is built into all the go commands,
not just 'go mod'. For example, day-to-day adding, removing, upgrading,
and downgrading of dependencies should be done using 'go get'.
See 'go help modules' for an overview of module functionality.

Usage:

        go mod <command> [arguments]

The commands are:

        download    download modules to local cache
        edit        edit go.mod from tools or scripts
        graph       print module requirement graph
        init        initialize new module in current directory
        tidy        add missing and remove unused modules
        vendor      make vendored copy of dependencies
        verify      verify dependencies have expected content
        why         explain why packages or modules are needed

Use "go help mod <command>" for more information about a command.

下面来说明下如何使用.


示例

go mod 要求项目必须在 GOPATH 中, 所以在这个例子中设置为当前目录(~/GoLang) export GOPATH=$PWD, 然后在 src 下创建项目 test , 目录结构如下:

GoLang
└── src
    └── test
        └── main.go

示例的代码请见: GoModule

初始化

进入 test 所在目录, 执行 go mod init 即可完成初始化, 会多出一个文件: go.mod .

记录依赖

执行 go get ./ 即会开始查找依赖并下载记录到 go.mod 文件中.

go mod 会将依赖下载到 $GOPATH/pkg 下, 用来当作缓存, 可以在多个项目之间共享.

依赖变更及 vendor

如在项目的开发过程中, 依赖有变更, 可使用 go mod tidy 来应用这些变更到 go.mod 文件.

在项目发布时会要将依赖复制到项目中, 此时使用 go mod vendor 即可完成此操作.


到此就介绍完了 go mod 的用法, 其他的子命令用法请查看帮助文档.

最后在说下需要注意的地方:

  1. 项目必须要在 GOPATH
  2. 需要设置 GO111MODULE=on 变量

相关文章

  • go http 包练习

    参见:下载包 设置代理妈的,下载包有时能下,有时候就卡住。手动安装包使用 go module 管理包 go-mod...

  • Go Get 访问私有库配置

    go module是go语言官方的包管理方式,go get则是获取包的命令,通常,我们可以使用go get git...

  • GO语言学习之搭建环境

    1、下载Go:go语言中文网 2、开启Go module管理工具 GO111MODULE=off 禁用 go mo...

  • Go 包管理之module

    Go Module 使用 Go Module 是官方用来管理 package 依赖的工具, 1.11 新加的, 使...

  • golang(1) go module 依赖包管理

    go module go module 是Go1.11版本之后官方推出的版本管理工具。并且从Go1.13版本开始,...

  • Go module 扩展管理

    go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是...

  • go Module管理

    一、创建一个Module 1、新建模块文件夹(它的目录要在 GOPATH 之外,因为默认情况下,GOPATH 里面...

  • 24.依赖管理及go module

    Go语言的依赖管理随着版本的更迭正逐渐完善起来。 windows开启go module:set GO111MODU...

  • go mod管理项目

    go mod管理项目 准备环境 全局开启module管理# 自动 (推荐)# go命令行将会根据当前目录来决定是否...

  • Go-Get Proxy搭建

    Go-Get 原理 不论是否开启Go Module功能,go get从版本控制系统VCS中取包的基础过程是类似的。...

网友评论

    本文标题:Go 包管理之module

    本文链接:https://www.haomeiwen.com/subject/vexoqqtx.html