gomod使用小结
gomod使用小结
使用方法
- 把工程拷贝到
$GOPATH/src
之外 - 在工程目录下执行:
go mod init {module name}
该命令会创建一个go.mod文件 - 然后在该目录下执行
go build
就可以了
go: finding github.com/mitchellh/go-wordwrap latest
go: finding github.com/maruel/panicparse/stack latest
go: finding github.com/nsf/termbox-go latest
....
此时,go.mod
中记录了依赖包及其版本号。
但有时我们的包下载不了,被墙了,此时需要使用GOPROXY代理,推荐代理:https://goproxy.io/
执行以下两个命令即可:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
GO111MODULE 临时环境变量
如果想更好的控制,可以修改GO111MODULE
临时环境变量。
GO111MODULE
的取值为 off, on, or auto(默认值)
- off: GOPATH mode,查找vendor和GOPATH目录
- on:module-aware mode,使用 go module,忽略GOPATH目录
- auto:如果当前目录不在$GOPATH 并且 当前目录(或者父目录)下有go.mod文件,则使用 GO111MODULE, 否则仍旧使用 GOPATH mode。
查看依赖
可以直接查看 go.mod 文件,或者使用命令行:
go list -m all
移除依赖
当前代码中不需要了某些包,删除相关代码片段后并没有在go.mod
文件中自动移出。
运行下面命令可以移出所有代码中不需要的包:
go mod tidy -v