moudle是一个强大的包管理工具,go从1.11版本才开始支持modules,我们可以查看一下我们得go版本是否符合,如果不符合我们就得升级到我们得最新版本或者次新版本了,我们可以直接在命令行输入命令
go get -u:直接升级到次要版本或者修订版本
go get -u=patch:升级到最新修订版本
go get package@version:升级到指定版本号的版本

那么我们该怎样激活使用它呢,首先我们设置环境变量GO111MODULE=on,这个命令是允许go使用Modules命令,或者我们可以在go环境变量之外直接使用,不用设置环境变量。

我们设置好了之后我们直接在项目中初始化,我们可以直接使用go mod init命令,执行完这个命令之后在当前项目下会出现两个文件一个是go.mod一个是go.sum。go.mod里面存放的是添加的各种依赖信息。
如果我们在gopath之外创建新的项目,我们可以go mod init packagename命令创建一个空的go.mod,然后我们自己在go.mod中添加各种所需要的依赖,或者让go自己发现可是可以的。

我觉得这个modules真正强大的地方是可以翻墙下载各种包,在我们访问golang.org/x的包时需要翻墙,这时候我们头疼不已,有的时候这个包里还需要依赖别的包,难道我们要一直找包下载包么,这回浪费掉我们大把时间,我们可以通过代理直接去下载,我们需要添加环境变量GOPROXY=https://goproxy.io,然后我们就可以直接使用go mod tidy来添加依赖并且删除不需要的依赖关系。

gomod命令:

download    download modules to local cache (下载依赖的module到本地cache))
edit        edit go.mod from tools or scripts (编辑go.mod文件)
graph       print module requirement graph (打印模块依赖图))
init        initialize new module in current directory (再当前文件夹下初始化一个新的module, 创建go.mod文件))
tidy        add missing and remove unused modules (增加丢失的module,去掉未用的module)
vendor      make vendored copy of dependencies (将依赖复制到vendor下)
verify      verify dependencies have expected content (校验依赖)
why         explain why packages or modules are needed (解释为什么需要依赖)
Last modification:September 6th, 2019 at 01:08 pm
如果觉得我的文章对你有用,请随意赞赏