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

一、环境变量设置

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.hqwc.cn/news/133248.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

股票价格预测 | Python基于RNN及股票预测实战

循环神经网络(RNN)是基于序列数据(如语言、语音、时间序列)的递归性质而设计的,是一种反馈类型的神经网络,其结构包含环和自重复,因此被称为“循环”。它专门用于处理序列数据,如逐字生成文本或预测时间序列数据(例如股票价格)。 (1)one to one:其实和全连接神经网络…

基于黏菌优化的BP神经网络(分类应用) - 附代码

基于黏菌优化的BP神经网络(分类应用) - 附代码 文章目录 基于黏菌优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.黏菌优化BP神经网络3.1 BP神经网络参数设置3.2 黏菌算法应用 4.测试结果:5.M…

云计算到底牛x在哪里?

你们好,我的网工朋友。 云计算已经霸屏行业有段时间了,但很多粉丝朋友还是不太明白什么是云计算,为什么要学云计算。 从宏观来说,其实云计算的优点很多。 就和传统模式相比,云计算在六个维度都有显著的提升点。 比…

C++算法:图中的最短环

题目 现有一个含 n 个顶点的 双向 图,每个顶点按从 0 到 n - 1 标记。图中的边由二维整数数组 edges 表示,其中 edges[i] [ui, vi] 表示顶点 ui 和 vi 之间存在一条边。每对顶点最多通过一条边连接,并且不存在与自身相连的顶点。 返回图中 …

ios safari 浏览器跳转页面没有自适应

今天开发遇到了一个问题,当用户点击浏览器中的表单进行注册时,表单元素会放大,随后跳转页面无法还原到初始状态。 这是因为如果 的 font-size 被设定为 16px 或更大,那么 iOS 上的 Safari 将正常聚焦到输入表单中。但是&#xff…

卷积神经网络CNN基础知识

目录 1 前言2 卷积神经网络CNN2.1 LeNet-5相关介绍2.2 CNN基本结构2.2.1 卷积层2.2.2 池化层(下采样层)2.2.3 全连接层2.2.3.1激励层(非线性激活)2.2.3.2 线性层2.2.3.3 Dropout层2.2.3.4 总结 2.3 图像的上采样和下采样2.3.1 上采…

Idea报错 java: 程序包org.springframework.boot不存在 解决方法

发现我的是因为更改了maven的主路径和本地仓库路径,但是新建了一个工程后,设置就恢复默认了。需要重新设置正确路径。 应用后会重新下载依赖项 之后虽然还会报错,但是已经不影响项目运行,配置成功

uCOSIII实时操作系统 六 内部任务(空闲函数)

目录 空闲任务: 时钟节拍任务: 统计任务: 定时任务: 中断服务管理任务: 钩子函数: 空闲任务的钩子函数: 空闲任务钩子函数实验: 其他任务的钩子函数: 空闲任务&a…

Hadoop-2.5.2平台环境搭建遇到的问题

文章目录 一、集群环境二、MySQL2.1 MySQL初始化失败2.2 MySQL启动报错2.3 启动时报不能打开日志错2.4 mysql启动时pid报错 二、Hive2.1 Hive修改core-site.xml文件后刷新权限2.2 Hive启动元数据时报错2.3 Hive初始化MySQL报错2.3.1 报错信息2.3.2 错误原因2.3.3 参考文档 2.4 …

uni-app:本地缓存的使用

uni-app 提供了多种方法用于本地缓存的操作。下面是一些常用的 uni-app 本地缓存方法: uni.setStorageSync(key, data): 同步方式将数据存储到本地缓存中,可以使用对应的 key 来获取该数据。 uni.setStorage({key, data}): 异步方式将数据存储到本地缓存…

The Foundry Nuke 15视频后期合成和特效制作Mac软件

Nuke 15 是一款专业的合成软件,主要用于电影、电视和广告制作中的后期合成和特效制作。 Nuke 15 提供了强大的合成工具和功能,可以对多个图像、视频和3D元素进行无缝融合和合成。它支持多通道图像处理,能够处理高动态范围(HDR&…

共享WiFi二维码项目如何加盟代理?有哪些注意事项!

随着移动互联网的发展,如今WiFi热点已成为人们日常生活的必需品。而共享wifi二维码项目也渐渐成为了一个非常有前景的共享商业模式。用户可以通过扫共享wifi二维码享受免费的上网服务,而加盟商则可以赚取一定的推广费用,是一种非常理想的商业…