go语言学习笔记十一 Go mod包管理

// 支持mod 管理
 go env -w GO111MODULE=on
 go mod init 项目名
// 项目中创建main.go文件,导入需要用到的包
// 执行命令:
go mod tidy 
go mod vendor -v // 当前目录下生产vendor目录,包含所有依赖包

问题总结

// 使用出现错误时需要执行 go mod init: modules disabled by GO111MODULE=off; see 'go help modules'
 // 解决方案:
 go env -w GO111MODULE=on

// 报错信息
//go get github.com/kataras/iris: module github.com/kataras/iris: Get "https://proxy.golang.org/github.com/kataras/iris/@v/list": dial tcp 216.58.200.49:443: i/o timeout
//报错原因 请求不到golang.org/谷歌的扩展包

// 解决方法
// 方法1 修改go.mod文件
replace (proxy.golang.org/github.com/kataras/iris/@v/list => github.com/kataras/iris latest)  // 不知道版本号的写latest
// 终端执行
go mod tidy

// 方法2 推荐 设置代理 设置完后 重新执行go get即可
go env -w GOPROXY=https://goproxy.cn
// go1.11发布后,还发布一个goproxy提供代理服务,goproxy.cn是专门服务于中国的,依赖于七牛云
// github地址: https://github.com/goproxy

命令总结

go mod命令
go mod download              // 下载依赖到本地缓存,查看GOCACHE缓存地址
go mod graph                    //把模块之间的依赖图显示出来
go mod init [模块名]           // 当前目录初始化和创建`go.mod`文件,最好是项目名
go mod tidy -v                    // 添加确实模块和移除不必要的模块
go mod vendor -v              // 当前目录下生产vendor目录,包含所有依赖包
go mod verify                    // 检查当前模块的依赖是否已经存储在本地下载的源代码缓存中
go build -mod=vendor      // 依赖module下的vendor生成可执行文件

go get rsc.io/sampler       //更新稳定版依赖


猜你喜欢

转载自blog.csdn.net/qq_38165374/article/details/105507052