Go 依赖管理及项目架构学习笔记8| 青训营笔记

98 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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的结构和用途