Hello welcome to Yzone.net

Go mod 使用记录

go mod 包管理使用

初始化项目

使用 go mod init 初始化一个 go.mod 文件

go mod init

找到项目依赖

使用 go mod tidy 找到项目依赖,并写入到 go.mod

go mod tidy

go mod 文件示例

module github.com/gookit/gcli

require (
    github.com/fsnotify/fsnotify v1.4.7
    github.com/gookit/color v1.1.6
    github.com/gookit/filter v1.0.10
    github.com/gookit/goutil v0.1.2
    github.com/stretchr/objx v0.2.0 // indirect
    github.com/stretchr/testify v1.3.0
    golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
    golang.org/x/sys v0.0.0-20190308023053-584f3b12f43e // indirect
)

安装指定版本的包

go mod edit -require=path@version
go help mod edit // 查看更多使用帮助

更新已有包版本

如果我们想要更新一个已在 go.mod 文件列出的包,可以使用 go get -u PKG_PATH

如,要更新 github.com/gookit/filter 到最新版本:

go get -u github.com/gookit/filter

安装包到项目vender

go mod vender

使用replace

在国内访问 golang.org/x 的各个包都需要翻墙, 你可以在go.mod中使用replace替换成github上对应的库。

replace (
    golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 => github.com/golang/crypto  v0.0.0-20190308221718-c2843e01d9a2
)

更多命令

go mod graph
go mod download
go clean -modcache  // 清除缓存

分类 golang    标签 golang
文档结构