三分钟掌握Go mod常用与高级操作
环境
- 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基本操作
- 初始化一个moudle,模块名为你项目名
go mod init 模块名
- 下载modules到本地cache
目前所有模块版本数据均缓存在
$GOPATH/pkg/mod
和 $GOPATH/pkg/sum
下
go mod download
- 编辑go.mod文件 选项有
-json
、-require
和-exclude
,可以使用帮助go help mod edit
go mod edit
- 以文本模式打印模块需求图
go mod graph
- 删除错误或者不使用的modules
go mod tidy
- 生成vendor目录
go mod vendor
- 验证依赖是否正确
go mod verify
- 查找依赖
go mod why
4. mod高级操作
- 更新到最新版本
go get github.com/gogf/gf@version
如果没有指明 version 的情况下,则默认先下载打了 tag 的 release 版本,比如 v0.4.5 或者 v1.2.3;如果没有 release 版本,则下载最新的 pre release 版本,比如 v0.0.1-pre1。如果还没有则下载最新的 commit
- 更新到某个分支最新的代码
go get github.com/gogf/gf@master
- 更新到最新的修订版(只改bug的版本)
go get -u=patch github.com/gogf/gf
- 替代只能翻墙下载的库
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
- 清理moudle 缓存
go clean -modcache
- 查看可下载版本
go list -m -versions github.com/gogf/gf
三分钟掌握Go mod常用与高级操作相关推荐
- 开了gomod不识别gopath_三分钟掌握Go mod常用与高级操作
环境 Windows10 GO:1.13 1. 开启Go module 1.11和1.12版本 将下面两个设置添加到系统的环境变量中 GO111MODULE=on GOPROXY=https://go ...
- 常用的数据结构_三分钟了解区块链常用数据结构「默克尔树」
免责声明:本文旨在传递更多市场信息,不构成任何投资建议.文章仅代表作者观点,不代表火星财经官方立场. 小编:记得关注哦 来源:万向区块链 原文标题:三分钟了解区块链常用数据结构「默克尔树」 默克尔树是 ...
- 教你三分钟上手阿里云OOS上传操作
教你三分钟上手阿里云OOS上传操作 1.注册登录 如果小伙伴需要进行使用阿里云oss操作,第一步我们得注册/登录阿里云 https://www.aliyun.com/,小编建议大家尽量使用支付宝登录, ...
- PowerShell变量——PowerShell三分钟(七)
有了前面的PowerShell基础,今天我们来学习一个可以极大提升PowerShell效率的用法--变量 简答来说呢,变量就是在内存中的一个带有名字的盒子~~~~~你可以把所有想存放的东西都放到这个& ...
- HBase的编程实践(实验3_熟悉常用的HBase操作)
一.Hbase中使用Shell命令: ① HBase中创建表:(create 命令:第一个变量是表名,然后是列族名) 语法:create '表名称','列族名称1','列族名称2','列族名称N' c ...
- 《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 ...
- Flutter BottomNavigationBar 三分钟实现一个常用APP首页底部导航菜单栏
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Flutter是谷歌推出的最新的移动开发框架. [x1]微信公众号的每日提醒 随时随记 每日积累 随心而过 文章底部扫码关注 [x2] ...
- 每天三分钟玩转Git(已完结)
关于Git 好文推荐 完成本系列文章的阅读以后,你将掌握git的基本概念与git的基本命令,可以在本地随心所欲的完成代码的提交撤销保存修改等操作.可以流畅的参与多人协作,本文致力于快速的入门,学完本文 ...
- java 下拉列表 枚举_「Java三分钟」精准而优雅——枚举类详解
关注我,每天三分钟,带你轻松掌握一个Java相关知识点. 1.为什么要用枚举 你在读一个老工程代码时,是否经常看见有几个类,里面放着成百上千的静态常量,场面相当恐怖,而且如果不加注释,很多你都不知道这 ...
最新文章
- VMware Virtual SAN存储设计规划
- 分布式爬虫系统设计、实现与实战:爬取京东、苏宁易购全网手机商品数据+MySQL、HBase存储...
- JNI : Java程序调用C方法
- 取消 AndroidStudio 启动时自动打开上次关闭的项目
- 类属性-使用对象名+类属性赋值语句会创建实例属性
- mysql多线程查询_MySQL 利用多线程提升查询性能的一种思路
- 计算机网络中的所谓资源是指硬件软件,计算机网络中的所谓“资源”是指硬件、软件和______资源。A.通信B.系统C.数据D.资金...
- 小程序引入的echarts过大如何解决_智慧虎超:为服装行业带来3倍收益?小程序如何解决销售难题?...
- 01背包问题笔记(转载)
- php td背景颜色改变,JavaScript实现点击单元格改变背景色的方法
- 基于51单片机GPS的导航系统设计(1)---(设计思路)
- hough变换检测直线 matlab,Hough变换直线检测MatLab代码 | 学步园
- 与计算机审计相关的论文,关于计算机审计类论文范文参考文献,与计算机审计一般原理应用相关硕士毕业论文范文...
- 详解自动驾驶安全软件开发流程
- ffmpeg视频裁剪,切割,crop裁剪相关
- 卡特兰数(c++实现)
- cass块参照怎么改颜色_【干货】CASS自定义图斑填充技巧
- 一文看懂膨胀(空洞)卷积(含代码)
- 利用栈进行数制转换和括号匹配(C语言)
- C语言 球弹跳高度的计算
热门文章
- Spring整合Quartz实现定时任务
- java导入导出有版本兼容问题_java导入excel时遇到的版本问题
- null最后如何排序的_LeetCode 148——排序链表
- 华为私有云的搭建方案_华为云搭建word press
- [USACO08DEC]拍头Patting Heads 数学 BZOJ 1607
- 【Gitlab+Jenkins+Ansible】构建自动化部署
- 《微信小程序开发入门精要》——第2章,第2.8节带边距的水平等间隔排列
- CentOS 6.4 升级 Mysq5.5l方法 和 用户远程登录数据库
- strtok_r实现方式之一
- Spark源码系列(五)分布式缓存