环境

  • Windows10
  • GO:1.13

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

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

三分钟掌握Go mod常用与高级操作相关推荐

  1. 开了gomod不识别gopath_三分钟掌握Go mod常用与高级操作

    环境 Windows10 GO:1.13 1. 开启Go module 1.11和1.12版本 将下面两个设置添加到系统的环境变量中 GO111MODULE=on GOPROXY=https://go ...

  2. 常用的数据结构_三分钟了解区块链常用数据结构「默克尔树」

    免责声明:本文旨在传递更多市场信息,不构成任何投资建议.文章仅代表作者观点,不代表火星财经官方立场. 小编:记得关注哦 来源:万向区块链 原文标题:三分钟了解区块链常用数据结构「默克尔树」 默克尔树是 ...

  3. 教你三分钟上手阿里云OOS上传操作

    教你三分钟上手阿里云OOS上传操作 1.注册登录 如果小伙伴需要进行使用阿里云oss操作,第一步我们得注册/登录阿里云 https://www.aliyun.com/,小编建议大家尽量使用支付宝登录, ...

  4. PowerShell变量——PowerShell三分钟(七)

    有了前面的PowerShell基础,今天我们来学习一个可以极大提升PowerShell效率的用法--变量 简答来说呢,变量就是在内存中的一个带有名字的盒子~~~~~你可以把所有想存放的东西都放到这个& ...

  5. HBase的编程实践(实验3_熟悉常用的HBase操作)

    一.Hbase中使用Shell命令: ① HBase中创建表:(create 命令:第一个变量是表名,然后是列族名) 语法:create '表名称','列族名称1','列族名称2','列族名称N' c ...

  6. 《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务

    文章目录 二.高级篇(大厂进阶) 5.Docker-compose容器编排 5.1是什么 5.2能干嘛 5.3去哪下 5.4 Compose核心概念 5.5 Compose使用的三个步骤 5.6 Co ...

  7. Flutter BottomNavigationBar 三分钟实现一个常用APP首页底部导航菜单栏

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Flutter是谷歌推出的最新的移动开发框架. [x1]微信公众号的每日提醒 随时随记 每日积累 随心而过 文章底部扫码关注 [x2] ...

  8. 每天三分钟玩转Git(已完结)

    关于Git 好文推荐 完成本系列文章的阅读以后,你将掌握git的基本概念与git的基本命令,可以在本地随心所欲的完成代码的提交撤销保存修改等操作.可以流畅的参与多人协作,本文致力于快速的入门,学完本文 ...

  9. java 下拉列表 枚举_「Java三分钟」精准而优雅——枚举类详解

    关注我,每天三分钟,带你轻松掌握一个Java相关知识点. 1.为什么要用枚举 你在读一个老工程代码时,是否经常看见有几个类,里面放着成百上千的静态常量,场面相当恐怖,而且如果不加注释,很多你都不知道这 ...

最新文章

  1. VMware Virtual SAN存储设计规划
  2. 分布式爬虫系统设计、实现与实战:爬取京东、苏宁易购全网手机商品数据+MySQL、HBase存储...
  3. JNI : Java程序调用C方法
  4. 取消 AndroidStudio 启动时自动打开上次关闭的项目
  5. 类属性-使用对象名+类属性赋值语句会创建实例属性
  6. mysql多线程查询_MySQL 利用多线程提升查询性能的一种思路
  7. 计算机网络中的所谓资源是指硬件软件,计算机网络中的所谓“资源”是指硬件、软件和______资源。A.通信B.系统C.数据D.资金...
  8. 小程序引入的echarts过大如何解决_智慧虎超:为服装行业带来3倍收益?小程序如何解决销售难题?...
  9. 01背包问题笔记(转载)
  10. php td背景颜色改变,JavaScript实现点击单元格改变背景色的方法
  11. 基于51单片机GPS的导航系统设计(1)---(设计思路)
  12. hough变换检测直线 matlab,Hough变换直线检测MatLab代码 | 学步园
  13. 与计算机审计相关的论文,关于计算机审计类论文范文参考文献,与计算机审计一般原理应用相关硕士毕业论文范文...
  14. 详解自动驾驶安全软件开发流程
  15. ffmpeg视频裁剪,切割,crop裁剪相关
  16. 卡特兰数(c++实现)
  17. cass块参照怎么改颜色_【干货】CASS自定义图斑填充技巧
  18. 一文看懂膨胀(空洞)卷积(含代码)
  19. 利用栈进行数制转换和括号匹配(C语言)
  20. C语言 球弹跳高度的计算

热门文章

  1. Spring整合Quartz实现定时任务
  2. java导入导出有版本兼容问题_java导入excel时遇到的版本问题
  3. null最后如何排序的_LeetCode 148——排序链表
  4. 华为私有云的搭建方案_华为云搭建word press
  5. [USACO08DEC]拍头Patting Heads 数学 BZOJ 1607
  6. 【Gitlab+Jenkins+Ansible】构建自动化部署
  7. 《微信小程序开发入门精要》——第2章,第2.8节带边距的水平等间隔排列
  8. CentOS 6.4 升级 Mysq5.5l方法 和 用户远程登录数据库
  9. strtok_r实现方式之一
  10. Spark源码系列(五)分布式缓存