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
原文地址:https://www.cnblogs.com/Kingram/p/13222715.html