go mod依赖离线安装_Go语言go mod包依赖管理工具使用详解

本文详细介绍了Go语言中的go mod模块管理工具的使用,包括如何升级到1.12版本,设置GO111MODULE,以及go mod的常用命令。通过示例展示了新项目和已有项目的初始化,解释了go.mod文件的内容和作用,同时讨论了如何处理无法直接获取的package,以及使用replace指令进行替换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

go modules 是 golang 1.11 新加的特性。现在 1.12 已经发布了,是时候用起来了。Modules 官方定义为:

模块是相关 Go 包的集合。modules 是源代码交换和版本控制的单元。go 命令直接支持使用 modules,包括记录和解析对其他模块的依赖性。modules 替换旧的基于 GOPATH 的方法来指定在给定构建中使用哪些源文件。

如何使用 Modules?

1) 首先需要把 golang 升级到 1.11(现在 1.12 已经发布了,建议使用 1.12)

2) 设置 GO111MODULE

GO111MODULE

GO111MODULE 有三个值:off, on 和 auto(默认值)。

GO111MODULE=off,go 命令行将不会支持 module 功能,寻找依赖包的方式将会沿用旧版本那种通过 vendor 目录或者 GOPATH 模式来查找。

GO111MODULE=on,go 命令行会使用 modules,而一点也不会去 GOPATH 目录下查找。

GO111MODULE=auto,默认值,go 命令行将会根据当前目录来决定是否启用 module 功能。这种情况下可以分为两种情形:

当前目录在 GOPATH/src 之外且该目录包含 go.mod 文件

当前文件在包含 go.mod 文件的目录下面。

当 modules 功能启用时,依赖包的存放位置变更为 $GOPATH/pkg,允许同一个 package 多个版本并存,且多个项目可以共享缓存的 module。

go mod

golang 提供了 go mod 命令来管理包。

go mod 有以下命令:

命令

说明

download

download modules to local cache (下载依赖包)

edit

edit go.mod from tools or scripts (编辑go.mod)

graph

print module requirement graph (打印模块依赖图)

init

initialize new module in current directory (在当前目录初始化mod)

tidy

add missing and remove unused modules (拉取缺少的模块,移除不用的模块)

vendor

make vendored copy of dependencies (将依赖复制到vendor下)

verify

verify dependencies have expected content (验证依赖是否正确)

why

explain why packages or modules are needed (解释为什么需要依赖)

如何在项目中使用

【示例 1】创建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值