这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天
概述
Go Module 是 Go 语言 1.11 版本引入的包管理工具,旨在解决 Go 语言包# 本篇内容
- go module命令的使用管理方面的问题。Go Module 支持包的版本管理,可以快速构建和维护模块化的项目。本文将介绍 Go Module 的使用方法。
初始化
在使用 Go module 之前,需要先开启 Go module 的支持。在 Go 1.11 版本之后,Go 默认会开启 Go module,但在早期版本中,需要手动设置 GO111MODULE 环境变量来开启 Go module。设置 GO111MODULE=on 启用 Go module,GO111MODULE=off 则关闭 Go module。
在项目根目录下使用 go mod init 命令来初始化 Go module,例如:
$ cd /path/to/my/project
$ go mod init example.com/my/project
执行上述命令后,会生成一个名为 go.mod 的文件,该文件会记录当前项目所依赖的第三方库的版本信息。
导入依赖
在源代码文件中,使用 import 语句导入依赖库,例如:
import "github.com/gin-gonic/gin"
一般import后,类似goland这样的IDE会自动搜索依赖项并加入到go.mod中。在使用依赖库之前,需要使用 go mod download 命令来下载依赖库,例如:
go mod download
执行上述命令后,会下载所有go.mod中的依赖库到本地,这些依赖库会被保存在 $GOPATH/pkg/mod 目录中。
更新依赖库
在 Go module 中,可以使用 go get 命令来更新依赖库,例如:
$ go get -u github.com/gin-gonic/gin
执行上述命令后,会下载 github.com/gin-gonic/gin 这个依赖库的最新版本。
移除依赖库
在 Go module 中,可以使用 go mod tidy 命令来移除不需要的依赖库,例如
go mod tidy
执行上述命令后,会将不需要的依赖库从 go.mod 文件中移除,并删除本地的依赖库文件。
下篇内容
- go mod和go sum的结构和用途