4.3. modules 的使用

未匹配的标注

modules

modules在go的1.11版本中加入,并在最新的Go 1.13中对模块进行了重大改进和更改。

1.13版本前请务必开启模块

export GO111MODULE=auto

初始化

在你的项目目录中执行:

go mod init 13sai/game

会生成go.mod


module 13sai/game

go 1.12

然后你可以尽情编写你的项目代码,在你每次go get的时候,modules也会将你的安装的package加入go.mod


module 13sai/game

go 1.12

require github.com/gin-gonic/gin v1.5.0 // indirect

当然,你也可以像我一样,先去写代码,不去初始化modules,写完代码之后,初始化,然后执行:

go run main.go

当然,如果你没有翻墙,也没有使用国内镜像,很可能很多包都下载失败。

Goproxy 中国

Go 1.13 及以上(推荐)

打开你的终端并执行:


$ go env -w GOPROXY=https://goproxy.cn,direct

完成。

macOS 或 Linux

打开你的终端并执行:


$ export GOPROXY=https://goproxy.cn

或者


$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile && source ~/.profile

完成。

Windows

打开你的 PowerShell 并执行:


C:> $env:GOPROXY = "https://goproxy.cn"

或者

1. 打开“开始”并搜索“env”
2. 选择“编辑系统环境变量”
3. 点击“环境变量…”按钮
4. 在“<你的用户名> 的用户变量”章节下(上半部分)
5. 点击“新建…”按钮
6. 选择“变量名”输入框并输入“GOPROXY7. 选择“变量值”输入框并输入“https://goproxy.cn”
8. 点击“确定”按钮

完成。

本地包处理

本地宝使用这样的方式引入(local.com/13sai/game)

然后执行:


$ go mod edit -require=local.com/13sai/game@v1.0.0

$ go mod edit -replace=local.com/13sai/game@v1.0.0=$PWD

vendor备份

go mod vendor

可以将modules下载到本地vendor目录,其中也包含上面的本地包。

其他


go mod tidy //整理模块(拉取缺少的模块,移除不用的模块)

go mod download//下载依赖包到本地缓存

go mod graph //打印现有依赖结构

go mod verify //校验依赖

go mod why //解释为什么需要此模块

Modules的wiki


关注和赞赏都是对笔者最大的支持
关注和赞赏都是对笔者最大的支持

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~