gomod使用记录
简单记录 go mod 的使用方式:
-
代理配置
$env:GOPROXY = "https://goproxy.io"或使用goproxy.cn -
初始化
go mod init ***,***为你要创建的mod名字,直接为工程名即可 -
自动下载依赖
go run *****.go,在执行前会首先查找并下载安装依赖 -
更新旧的 package import 方式,内部依赖也需要增加 mod 名
package main import ( api "mymod/api" // mymod 是初始化的 mod 名 "github.com/labstack/echo" ) func main() { e := echo.New() e.GET("/", api.MyAPI) e.Logger.Fatal(e.Start(":1234")) } -
使用 replace 替换无法直接获取的 package
replace ( golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a => github.com/golang/crypto v0.0.0-20190313024323-a1f597ede03a ) -
检查并升级 package
go list -m -u all
go get -u need-upgrade-package或者go get -u
常用的命令如下:
| 命令 | 功能 |
|---|---|
| download | 下载依赖包 |
| edit | 编辑 go.mod |
| graph | 打印模块依赖图 |
| init | 初始化 mod |
| tidy | 拉取缺少的模块,移除不用的模块 |
| vendor | 将依赖复制到 vendor 下 |
| verify | 验证依赖是否正确 |
| why | 解释为什么需要依赖 |