go mod 使用三方包、go get命令

news2024/11/20 20:38:11

一、环境变量设置

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

 二、goland开启 go mod

三、go mod 使用

在go.mod文件中声明三方包地址&版本号即可,如下:

开发工具goland会自动解析go.mod文件,执行命令下载安装三方包。

go.mod 文件

go.mod 文件中可以使用到的语法关键词以及含义:

module: 定义当前项目的模块路径

go: 标识当前模块的 Go 语言版本,目前来看还只是个标识作用。

require: 说明 Module 需要什么版本的依赖。

exclude: 用于从使用中排除一个特定的模块版本。在实际的项目中很少被使用,故很少会显式的排除某个包的某个版本,除非我们知道某个版本有严重 bug。比如指令 exclude github.com/google/uuid v1.1.0,表示不使用 v1.1.0 版本。

创建module

go mod init 模块名

将在当前目录下创建一个新的Go模块,并生成一个go.mod文件来管理你的依赖项。 

增加缺少的module&移除无用的module 

go mod tidy

go mod tidy 命令只会修改 go.mod 文件,不会安装或更新包。如果你想确保使用的是最新的包版本,可以结合 go get -u 命令来更新包。 

 四、go get 使用

Go modules 模式下,使用 go get 命令,相关信息可以自动记录到 go.mod 文件中。

最新版本

go get -u github.com/nacos-group/nacos-sdk-go/v2
或
go get github.com/nacos-group/nacos-sdk-go/v2@latest

默认下载最新版本。

指定tag

go get -u github.com/nacos-group/nacos-sdk-go/v2@v2.2.2

执行日志:go: downgraded github.com/nacos-group/nacos-sdk-go/v2 v2.2.3 => v2.2.2

下载完成后,go.mod 文件内容自动变更为:

github.com/nacos-group/nacos-sdk-go/v2 v2.2.2 // indirect

// indirect ,表示该模块为间接依赖,也就是在当前应用程序中的 import 语句中,并没有发现这个模块的明确引用,如果没引用,我们提前先拉下来这个包,就会出现该注释,比如直接使用go get拉代码包,而不是 go build 让命令自动根据 go.mod 拉代码包。

指定分支的最新commit

拉取 master 分支的最新 commit

go get github.com/nacos-group/nacos-sdk-go/v2@master

go.mod 文件内容变更为:

github.com/nacos-group/nacos-sdk-go/v2 v2.2.4-0.20230901084646-9653ddea228a

更新

go get -u

-u(short for --update):告诉 go get 命令从远程仓库更新包到最新版本。如果你已经安装了某个包,但是有新版本可用,该命令将下载并安装最新版本。-u 标志是用于更新包的常见用法,它会忽略已安装包的版本,而是下载并安装最新的版本。

-u 标志将更新所有的依赖项,而不仅仅是直接导入的包。这可能会导致一些不可预期的变化,因此在使用该标志进行更新之前,建议先仔细阅读包的文档和变更日志,以了解更新可能带来的影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1081232.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vscode中使用Romote远程开发调试Ros2环境

首先,成功安装ros2环境,参考官方文档中的教程,能用运行出来此处的代码 Writing a simple publisher and subscriber (Python) — ROS 2 Documentation: Iron documentation 下载vscode,进行远程开发,具体参考&#xf…

微软 AR 眼镜新专利:包含热拔插电池

近日,微软在增强现实(AR)领域进行深入的研究,并申请了一项有关于“热插拔电池”的专利。该专利于2023年10月5日发布,描述了一款采用模块化设计的AR眼镜,其热插拔电池放置在镜腿部分,可以直接替代…

视频监控管理系统EasyCVR+智能分析网关如何为银行安保系统保驾护航

银行是国家重点安防保护单位,现金流通性高、人员复杂,对高精度的安全监控尤为需要。特别在当今社会,高智商犯罪分子层出不穷,恶性案件也屡屡发生。传统的监控模式已经无法满足银行的安保要求,而现在市面上融合了智能化…

交直流回馈式电子负载的优势和特点

交直流回馈式电子负载是用于测试和模拟电源、电池和其他电子设备的负载装置,它能够承受大范围的负载电流和电压,可以满足不同类型电子设备的测试需求。该负载装置具有精确的电流和电压测量功能,可以提供准确的测试结果,帮助用户评…

淘宝商品评论数据接口,淘宝商品评论API接口

淘宝商品评论数据接口可以通过淘宝开放平台API获取。 通过构建合理的请求URL,可以向淘宝服务器发起HTTP请求,获取商品评论数据。接口返回的数据一般为JSON格式,包含了商品的各种评价信息。获取到商品评论数据后,可以对其进行处理…

Spring WebClient 基于响应式编程模型的HTTP客户端

一、简介 WebClient是一个非阻塞的、可扩展的、基于Reactive Streams规范的HTTP客户端。它提供了一种简洁的方式来进行HTTP请求,并且可以很好地与其他Spring组件集成。WebClient支持同步和异步操作,使得它非常适合用于构建响应式应用程序。 WebClient允…

全网都在用的英语配音软件~

现在有很多智能配音软件都可以输入文字内容生成语音,让我们给视频配音的过程更加简单方便。但目前很多比较常见的文字转语音软件都只能配音中文,而无法配音英语。想要智能生成英语的配音的小伙伴看过来,给大家推荐一款超实用的英语配音软件&a…

从零开始学习 Java:简单易懂的入门指南之多线程(三十四)

多线程 1.实现多线程1.1简单了解多线程1.2并发和并行1.3进程和线程1.4实现多线程方式一:继承Thread类【应用】1.5实现多线程方式二:实现Runnable接口【应用】1.6实现多线程方式三: 实现Callable接口【应用】1.7设置和获取线程名称【应用】1.8线程休眠【应…

Linux系统编程:编译过程以及GDB调试

编译工具链SDK(Software Development Kit) 在windows下编写程序,我们通常会用IDE,比如idea、vs等,这些工具将编译链接什么的全都暗地里解决好了我们只要写程序就行,但很明显,在Linux系统下做不…

网吧2023:中国电竞的滚烫夏天

【潮汐商业评论/原创】 随着亚运会“中国队拿下电竞首金”登上微博热搜,电竞与网游又一次占据着网民视野中的C位,场内电竞中心的比赛热血澎湃,场外网吧的欢呼声也此起彼伏。 中国玩家的网游之路大多是从网吧里一排17英寸的大屁股显示器前开…

大模型之Prompt研究和技巧

大模型之Prompt研究和技巧 大模型之Prompt编写简介组成技术Zero-ShotFew-shotCOTCOT-SCTOTGoTReAct 大模型之Prompt编写 简介 Prompt是是给 AI **模型的指令,**一个简短的文本输入,用于引导AI模型生成特定的回答或执行特定任务。 Prompt是你与语言模型沟…

milvus测试

milvus测试 目标 其实,我应该弄明白他的输入输出分别是什么? 输入是图片,图片经过ml模型进行特征提取,再在milvus中进行存储或者检索 部署 ✘ delldell-Precision-3630-Tower  /nvme/baum/git-project/milvus   master …

【EI会议征稿】第三届计算建模、仿真与数据分析国际学术会议(CMSDA 2023)

第三届计算建模、仿真与数据分析国际学术会议(CMSDA 2023) 第三届计算建模、仿真与数据分析国际学术会议(CMSDA 2023)将于2023年12月22-24日即将在中国海南省三亚市召开。首届计算建模、仿真与数据分析国际学术会议已于2021、2022年连续成功举办,吸引了近200名计算机…

投你500万,你想做什么?头脑风暴一下 无限想像 有想法的人都能投 数学

投你500万,你想做什么?头脑风暴一下 我要投我自己 1、先出国读个博。8年 30万/年 240万 2、另外260万想研究啥就研究啥。比如 3栖动物:把人改造成3栖动物,可以在水里,海洋里,陆地上,天空都能生…

计算机的层次与编程语言

文章目录 前言一、程序翻译与程序解释二、计算机的层次与编程语言1.硬件逻辑层2.微程序机器层3.传统机器层4.操作系统层5.汇编语言层6.高级语言层7.应用层 总结 前言 今天给大家介绍一下计算机的层次与编程语言,包含两个板块:程序翻译与程序解释、计算机…

Vue + moment 实现自定义日历

moment moment是一个js工具库,这个库中封装的是日期时间的方法,功能很全面。可以去moment官网看看,它的中文文档介绍的也很详细,主要是看一下方法的使用。附上官网地址:添加链接描述 日历案例 日历的逻辑:…

servlet基础知识

目录 什么是servlet概念/定义作用 servlet容器概念/是什么作用如何配置和管理 servlet生命周期有哪些生命周期每个周期中可以执行哪些操作 创建和编写servlet如何创建一个简单的servletservlet类的结构是什么样的如何处理HTTP请求和响应 servlet映射和URL模式什么是servlet映射…

Unity2017适配安卓12

测试版本为Unity2017.4.25f1 1.在自定义AndroidManifest.xml&#xff08;位于Assets\Plugins\Android\&#xff09;中添加android:exported"true" <?xml version"1.0" encoding"utf-8"?> <manifestxmlns:android"http://schema…

现在学网络安全主要是实战还是打CTF?

当然是实战了!!! 现在的CTF题目是基本不贴近实战的&#xff0c;逻辑结构并不合理&#xff0c;而且出题手十有八九是学生&#xff0c;并没有从教育出发的意义&#xff0c;只是比赛、竞技。 如果说你未来要从事网络安全行业的话肯定是以实战为主的&#xff01;企业在招聘时更多…

如何基于先进视频技术,构建互联网视频监控安全管理平台解决方案

一、建设思路 依托互联网&#xff0c;建设一朵云&#xff0c;实现各类二三类视频资源统一接入&#xff0c;实现天网最后100米、10米、1米的全域覆盖。 依托人工智能与互联网技术&#xff0c;拓展视频资源在政府、社会面等多领域的全面应用&#xff1b;建设与运营模式并存&…