首页 > 其他 > 详细

go module

时间:2020-08-18 16:47:44      阅读:76      评论:0      收藏:0      [点我收藏+]

go module 简单使用

go程序只能放在src文件中才能运行,并且依赖的所有的第三方库都放在设定GOPATH的目录下面,很不方便。

go module是Go1.11版本之后官方推出的版本管理工具。使用go module之后我们可不用将代码放置在src下了,并且可以任意切换第三方库版本。

设置环境变量

要启用go module支持首先要设置环境变量GO111MODULE,通过它可以开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是auto。

GO111MODULE=off禁用模块支持,编译时会从GOPATH和vendor文件夹中查找包。

GO111MODULE=on启用模块支持,编译时会忽略GOPATH和vendor文件夹,只根据 go.mod下载依赖。

GO111MODULE=auto,当项目在$GOPATH/src外且项目根目录有go.mod文件时,开启模块支持。

只要将设置GO111MODULE=on之后就可以使用 go module 功能了,以后就没有必要在 GOPATH 中创建项目了,并且还能够很好的管理项目依赖的第三方库信息。

Go1.11之后设置GOPROXY命令为:

export GOPROXY=https://goproxy.cn

Go1.13之后GOPROXY默认值为 https://proxy.golang.org ,但其在国内是无法访问的,所以大多自行设置GOPROXY,这里我推荐使用goproxy.cn

go env -w GOPROXY=https://goproxy.cn,direct

使用 go module 管理依赖后会在项目根目录下生成一个go.mod文件。格式如下,require 后面是引入的第三方库和对应版本号。如想更改版本号,直接修改后执行 go mod download

module Project

go 1.14

require github.com/garyburd/redigo v1.6.2 // indirect

常用命令

go mod download    下载依赖的module到本地(默认为$GOPATH/pkg/mod目录)
go mod edit        编辑go.mod文件
go mod graph       打印模块依赖图
go mod init        初始化当前文件夹, 创建go.mod文件
go mod tidy        增加缺少的module,删除无用的module
go mod vendor      将依赖复制到vendor下
go mod verify      校验依赖
go mod why         解释为什么需要依赖

拉取/更新第三方库

在项目中执行go get命令可以下载依赖库,并且还可以指定下载的版本。

  • 运行go get -u将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)
  • 运行go get -u=patch将会升级到最新的修订版本
  • 运行go get package@version将会升级到指定的版本号version 如果下载所有依赖可以使用go mod download命令。

简单使用

  1. set GO111MODULE=on

  2. SET GOPROXY=https://goproxy.cn (这是win环境下的)

    export GOPROXY=[https://goproxy.cn](https://goproxy.cn/) (这是mac环境下的)

  3. go mod init [库名] // 初始化项目(如果你是初始化项目直接 go mod init 就OK)

  4. 在目录文件下会生成 go.mod ,go.mod 里面包含了所需要的第三方库。

  5. 可能会出现编译器报错,但却能正常编译的情况

  6. go get 下载第三方库

  7. 修改第三方库的版本号直接去go.mod文件修改然后执行 go mod download

go module

原文:https://www.cnblogs.com/newbase/p/13524319.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!