网络穿透/视频拉转推服务系统EasyNTS通过gomod管理工具编译提示缺少依赖库解决方法

本文介绍了在Go项目中使用gomod进行模块管理,强调了gomod允许项目在任意目录下创建,并通过go.mod文件定义模块。当遇到私有仓库如gitee.com/easydarwin/EasyGoLib时,由于不能通过公共代理获取,需要设置GONOSUMDB和GONOPROXY环境变量,将特定仓库排除在代理之外,确保直接从公司私有仓库拉取依赖。配置完成后,项目可以正常运行。

在对 EasyNTS 的开发项目中,采用了 gomod 作为项目的管理工具。

NTS.png

使用 gomod 管理项目,就不需要非得把项目放到GOPATH指定目录下,可以在磁盘的任何位置新建一个项目,包含go.mod文件的目录也被称为模块根,也就是说,go.mod 文件的出现定义了它所在的目录为一个模块。

编译过程中,我们在一台新的机器中拉取完代码后,系统总是提示缺少对应的依赖库。gitee.com/easydarwin/EasyGoLib 是公司的私有仓库地址。

60.png

因为采用 gomod 管理项目,所以对于 GitHub 上面的部分包以来很难下载下来,因此一般会设置代理。即:部分组织定时同步国外 GitHub 上的代码库,设置代理后从这些组织的代理地址获取代码库。

对于 EasyGoLib 这个库来说,是存储在公司的私有仓库下,其他组织的代理库是无法获取到的,因此设置部分仓库不从代理下载即可解决该问题。

解决方案即是修改 Golang 的 env 中的 GONOSUMDB 和 GONOPROXY 两个环境变量,设置 gitlab.com 和 gitee.com 两个域名的依赖不从代理网站下载。

GOPROXY=https://goproxy.cn,direct;
GONOSUMDB=gitlab.com,gitee.com;
GONOPROXY=gitlab.com,gitee.com
设置完毕后,即可正常运行项目。

61.png

62.png

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值