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 | 解释为什么需要依赖 |