【GO语言依赖】Go语言依赖管理简述

在运行环境中,遭遇报错,显示找不到函数
在这里插入图片描述
经过研究后发现需要进行依赖管理,进行如下操作后解决:

起源

最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面。这就导致了同一个库只能保存一个版本的代码。如果不同的项目依赖同一个第三方的库的不同版本,就需要进行依赖管理

go module

go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。

GO MODULE

要启用go module支持首先要设置环境变量GO MODULE,通过它可以开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是auto。

GO MODULE=off禁用模块支持,编译时会从GOPATH和vendor文件夹中查找包。
GO MODULE=on启用模块支持,编译时会忽略GOPATH和vendor文件夹,只根据 go.mod下载依赖。
GO MODULE=auto,当项目在$GOPATH/src外且项目根目录有go.mod文件时,开启模块支持。

操作如下:

# 临时开启 Go modules 功能
export GO111MODULE=on
# 永久开启 Go modules 功能
go env -w GO111MODULE=on# 设置 Go 的国内代理,方便下载第三方包
go env -w GOPROXY=https://goproxy.cn,direct

简单来说,设置GO MODULE=on之后就可以使用go module了,以后就没有必要在GOPATH中创建项目了,并且还能够很好的管理项目依赖的第三方包信息。

使用 go module 管理依赖后会在项目根目录下生成两个文件go.mod和go.sum。

设置后可以查看确认:

wohu@wohu-dev:~$ go env
GO111MODULE="on"
.....
GOPROXY="https://goproxy.cn,direct"
.....
wohu@wohu-dev:~$

go mod

常见go mod命令

go mod download    下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录)
go mod edit        编辑go.mod文件
go mod graph       打印模块依赖图
go mod init        初始化当前文件夹, 创建go.mod文件
go mod tidy        增加缺少的module,删除无用的module
go mod vendor      将依赖复制到vendor下
go mod verify      校验依赖
go mod why         解释为什么需要依赖

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

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

相关文章

轴承滚珠故障的理论推导与计算(修订中...)

1.缘起 轴承故障故障位置在高频,如果不即时处理,恶化后,滚珠会有单颗故障迅速恶化到多颗,如果此时电机承载较大负载,轴承的恶化,会牵连到相关的动力轴。是一个不可不进行监测的项目。 2.频谱特征 轴承的…

VF04写入表VKDFS增强

需求:FPLT表中,存在部分期初出具发票计划数据,需要排除掉,不参与VF04后续运算 实现:跟程序发现调用位置LV05IFAP->AP_01 在调用的时候,满足条件,进入form:index_vkdfs_aufbauen参…

Prepar3D设置全屏显示设置方法

一、 基础设置 当视景软件显示的屏幕超过一个的时候,需要将多个显示屏幕在设置->屏幕设置->多显示器这里设置为扩展这些显示器。 二、全屏方法说明 一般情况只需要设置了多屏显示扩展并设置了P3D软件全屏设置(即下面的步骤一)保存后…

网页设计达人的首选!这6款顶级工具助你设计完美网页!

即时设计 即时设计是国内为当地设计师量身定制的完全免费的网页设计工具。是集成原型、设计、交互、交付等所有网页设计需求的一站式设计平台。内部集成了大量优秀的插件,包括组件、图标、字体、色板、填充等功能,基本涵盖了网页设计师常用的大部分工具…

Android studio调试

Android Studio连接手机详细教程(包含遇到的问题集)_android studio 连接手机-CSDN博客 可以创建虚拟机或直连真机或直连模拟器。 无法打开本地终端 Android studio Failed to start [powershell.exe] 利用Android studio的adb命令删除app应用 - 简书 利用ADB工具免root停用A…

CSAPP cache lab - Optimizing Matrix Transpose

CSAPP cache lab part B 矩阵转置 矩阵转置是一种操作,它将矩阵的行和列互换位置,即将原始矩阵的行变为转置矩阵的列,将原始矩阵的列变为转置矩阵的行。转置操作可以通过改变矩阵的布局来方便地进行某些计算和分析。 假设有一个mn的矩阵A&…

速查!优惠券核销情况(支付宝优惠券)

写在前面 在做支付优惠立减引流的时候,经常会遇到明明是符合条件的支付交易,但是不知道为什么就是核销不掉优惠券的情况。 如果是接口接入的情况还好,能通过记录的数据自己排查下原因。 但是如果是支付宝后台配置的一些优惠、立减活动的情…

JDK安装与配置教程来啦

1.从Oracle公司官网下载JDK安装文件。 官网地址为: http://www.oracle.com/technetwork/java/javase/downloads/index.html 目前最新版本是JDK21,下面就以JDK21举例。 2.需要登录Oracle账户,没有的注册一下就行了。 3.在确认安装的盘符(例…

java基于ssm框架的少儿编程在线培训系统论文

目 录 目 录 I 1 课题背景及研究内容 4 1.1 课题背景 4 1.2 开发目的和意义 4 2 相关技术和应用 4 2.1 VUE技术 4 2.2 Mysql数据库简介 5 2.3 SSM框架简介 6 2.4 Eclipse简介 6 2.5 B/S系统架构 6 3 系统分析 8 3.1可行性分析 8 3.1.1技术可行性 8 3.1.2经济可行性 8 3.1.3操作…

Redis事务操作

文章目录 1. Redis事务常见命令2. 具体案例 1. Redis事务常见命令 名称描述DISCARD取消事务,放弃执行事务块内的所有命令EXEC执行所有事务块内的命令MULTI表示一个事务块的开始UNWATCH取消WATCH命令对所有keyd监控WATCH eye [key…]监视一个或多个kye,如…

高手总结17个画好原理图的技巧

欧若奇科技 专业电路设计,PCB复制,原理图反推,电子产品优化设计等 不光是代码有可读性的说法,原理图也有。很多时候原理图不仅仅是给自己看的,也会给其它人看,如果可读性差,会带来一系列沟通问…

DDNS-GO配置使用教程

环境:openwrt 下载地址:Releases jeessy2/ddns-go GitHub 下载 ssh至openwrt根目录,根据你的处理器选择要下载的版本,我是路由器,选择的是 ddns-go_5.7.1_linux_arm64.tar.gz wget github链接 安装 tar -zxvf…

计算机网络-2019期末考试解析

【前言】 从内容上看比较像计算机网络课程了,先做了。 一.填空选择题(共 20 分,每空 1 分) 1 、双绞线由两根相互绝缘的、绞合成均匀的螺纹状的导线组成,下列关于双绞线的叙述,不正确的是___ __…

canvas绘制流动的蚂蚁线(图文示例)

查看专栏目录 canvas示例教程100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

sqlilabs第五十一五十二关

Less-51(GET - Error based - ORDER BY CLAUSE-String- Stacked injection) 手工注入 源码 单引号闭合用注释(没有后续输出只能堆叠注入) 自动注入 和上一关一样 Less-52(GET - Bind based - ORDER BY CLAUSE-numeric- Stacked injection) 手工注入 数字类型 不用注释直接…

gcc/g++工具详解

目录 一、安装gcc/g 二、背景知识 三、相关选项 四、gcc如何工作 1.预处理 2.编译 3.汇编 4.链接 5.函数库的概念 6.动静态库 一、安装gcc/g gcc/g -v : 用来查看当前你使用的gcc/g版本 因为我的gcc/g是升级过的所以版本更高,如果你用的是centos7.6的话…

干货|Google ads谷歌广告投放详细步骤与技巧

对于跨境电商、独立站运营的卖家来说,谷歌广告投放是必备的流量拓展来源,但是在投入运营之前,你需要完整了解谷歌广告投放详细步骤,以为你丝滑地进行有效投放做好基础,下面为大家整理具体的谷歌投放技巧与步骤&#xf…

BIOS知识枝桠——认识主板

文章目录 前言一、主要构成二、I/O区域1.I/O区域2.CPU区域与内存区域3.拓展区域4.南桥区域与外围接口 其他 前言 主板由电路板铜线芯片针脚数千个精密的元器件组合构成,是把显卡、内存、CPU等核心硬件串在一起的骨架,在计算机中发挥着重要的作用。文章以…

[渗透测试学习] Surveillance -HackTheBox

文章目录 信息搜集getshell提权信息搜集 nmap扫描端口 nmap -sV -sC -v -p- --min-rate 1000 10.10.11.245扫出来两个端口,其中80端口有http服务并且重定向到surveillance.htb 那么我们添加下域名然后访问80端口,发现是企业网站尝试扫描子域名和目录无果后,用Wappalyzer插…

NetCore部署微服务(三)

接上文,服务端部署完成之后,同样我们也需要修改一下客户端代码 Blocking Queries 1.1 服务发现 在客户端代码中使用Nuget安装consul包 修改配置文件,我们首先需要把consul的请求地址配置在配置文件中 修改control方法 using Consul; usin…