go mod常用命令 以及 常见问题

1. 开启Go module

1.11和1.12版本

将下面两个设置添加到系统的环境变量中

GO111MODULE=on
GOPROXY=https://goproxy.io

1.13版本之后

需要注意的是这种方式并不会覆盖之前的配置,有点坑,你需要先把系统的环境变量里面的给删掉再设置

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

goLand开启 go mod

go env -w GO111MODULE=on
go mod常用命令 以及 常见问题
go env 

查看是否配置成功

go mod常用命令 以及 常见问题

2. go get使用

使用go module之后,go get 拉取依赖的方式就发生了变化

  • 下载项目依赖
go get ./...
  • 拉取最新的版本(优先择取 tag)
go get golang.org/x/text@latest
  • 拉取 master 分支的最新 commit
go get golang.org/x/text@master
  • 拉取 tag 为 v0.3.2 的 commit
go get golang.org/x/text@v0.3.2
  • 拉取 hash 为 342b231 的 commit,最终会被转换为 v0.3.2:
go get golang.org/x/text@342b2e
  • 指定版本拉取,拉取v3版本
go get github.com/smartwalle/alipay/v3
  • 更新
go get -u

3. mod基本操作

  1. 初始化一个moudle,模块名为你项目名
go mod init 模块名
  1. 下载modules到本地cache

目前所有模块版本数据均缓存在 $GOPATH/pkg/mod和 ​$GOPATH/pkg/sum 下

go mod download
  1. 编辑go.mod文件 选项有-json-require-exclude,可以使用帮助go help mod edit
go mod edit
  1. 以文本模式打印模块需求图
go mod graph
  1. 删除错误或者不使用的modules
go mod tidy
  1. 生成vendor目录
go mod vendor
  1. 验证依赖是否正确
go mod verify
  1. 查找依赖
go mod why

4. mod高级操作

  1. 更新到最新版本
go get github.com/gogf/gf@version

如果没有指明 version 的情况下,则默认先下载打了 tag 的 release 版本,比如 v0.4.5 或者 v1.2.3;如果没有 release 版本,则下载最新的 pre release 版本,比如 v0.0.1-pre1。如果还没有则下载最新的 commit

  1. 更新到某个分支最新的代码
go get github.com/gogf/gf@master
  1. 更新到最新的修订版(只改bug的版本)
go get -u=patch github.com/gogf/gf
  1. 替代只能翻墙下载的库
go mod edit -replace=golang.org/x/crypto@v0.0.0=github.com/golang/crypto@latest
go mod edit -replace=golang.org/x/sys@v0.0.0=github.com/golang/sys@latest
  1. 清理moudle 缓存
go clean -modcache
  1. 查看可下载版本
go list -m -versions github.com/gogf/gf

原创文章,作者:星辰,如若转载,请注明出处:http://www.z88j.com/219.html

(10)
打赏 微信扫一扫 微信扫一扫
上一篇 2018年9月25日 上午12:19
下一篇 2020年4月2日 下午3:59

相关推荐

  • 微服务基本介绍【学习笔记】

    #### 微服务的优势1. 快速迭代2. 逻辑清晰3. 多语言组合#### 微服务与DDD- 领域驱动设计(Domain Driven Design,简称ddd)- – 合理拆分,…

    go 2020年12月9日
    1.4K00
  • 顺序查找算法【工作见解】

    星辰工作中遇到要查找数组数据取出 工作场景:有两个数组一个是 [[“时间”,”今天时间数据”],[“时间”,”今天时间数据”],…] 另一个是 [[“时间”,”昨天时间数据”]…

    php 2020年12月11日
    1.2K00
  • php 链式操作详解

    链式操作,在我们用的php框架中经常能用到,特别是tp laravel 和yii 这些model类。 如laravel里面: 链式操作的好处就是。多行代码能节省写成一行,(代码简洁…

    php 2020年11月26日
    1.1K00
  • goland的map操作-创建map遍历map获取map编辑map删除map

    map的操作 map key的使用注意事项 map演示带详细注解 package main import "fmt" func main() { m := ma…

    go 2021年6月16日
    67000
  • wordpress固定链接优化设置心得

    关于优化设置固定链接的心得。首先我看看目前有几种固定链接。 肯定不能用默认的。 第一种p=123有点像传参数。动态 页面。不利于seo优化。搜索引擎对html静态文件抓取比较好。 …

    未分类 2021年3月10日
    40000
  • go env 配置详解

    配置 含义 CGO_ENABLED 指明cgo工具是否可用的标识。 GOARCH 程序构建环境的目标计算架构。 GOBIN 存放可执行文件的目录的绝对路径。 GOCHAR 程序构建…

    go 2022年2月22日
    43200
  • go micro 微服务添加熔断器

    需要的包 go get github.com/afex/hystrix-go/hystrix 需要先进行包装 // go-micro main.go 里面 New Service …

    go 2022年2月23日
    54400
  • mac 上卸载go 完全卸载go

    1、删除go安装包前往文件夹 ,删除go文件夹/usr/local/go2、删除环境遍历前往文件夹,删除go文件/etc/paths.d/go 3.然后下载gopath所有目录 s…

    未分类 2020年11月12日
    1.7K00
  • charts折线图多条线时候展示效果不准

    在做登录和留存图表的时候。多条线会出现显示不准确的情况。 最后发现,是stack属性的问题。吧这个属性去掉就可以。 问题完美解决。

    ECharts图表 2020年9月28日
    75300
  • go切片操作

    slice 是 go的里数组 一个view 。类似于指针显示一个数组的部分内容或者全部内容。 如图: 比如 slice1 指向arr1 数组,slice1修改2元素。对应的 arr…

    go 2021年6月16日
    59700

发表回复

登录后才能评论