当前位置:   article > 正文

golang导入私有仓库_goproxy 本地私有库

goproxy 本地私有库

一、背景

在日常开发中经常需要导入自己私有库的包文件,但是使用  

 GOPROXY=https://goproxy.cn,direct

以后 默认下载包会从代理路径进行下载。私有仓库例如

e.coding.net                          不是https

www.test:6000                     不是 80端口

173.9.78.90                        直接ip

这类的符合规范的宝路径可能会下载不出来那么要怎么处理呢?在代码里肯定不能如下使用

  1. import (
  2. "e.coding.net/micro-order/config"
  3. "www.test:6000/micro-order/config"
  4. "173.9.78.90 /micro-order/config"          
  5. )

二、处理路径不规范办法

1.在这类异常的url路径我们可以借助git 替换成正常的url

git config --global url."http://www.test:6000/".insteadof "https://www.test.cn/"

也就是说在使用go get -v 的时候会替换掉www.test:6000  为 htts://www.test.cn 这样就能正常下载了。 这里关于go get -v 如何找到包地址的原理请参考如下文章

私有化仓库的 GO 模块使用实践https://studygolang.com/articles/35235icon-default.png?t=L9C2https://studygolang.com/articles/35235

三、处理私有库导入问题

1.例如在coding仓库中有一个public项目 caoxiukang123456/micro-order    git 仓库地址  

https://e.coding.net/caoxiukang123456/micro-order/micro-order.git 直接使用 
go get  https://e.coding.net/caoxiukang123456/micro-order/micro-order.git

会报错因为路径不符合规范,因为路径中出现了 : 

2.尝试修改go.mod文件如下 同样会报错这是

 go get  会从默认的代码管理工具 如git ,snv,hg拉取代码。golang将内置的这些托管平台代码 映射匹配到如github,apache等。

另外 也会通过设置的代理路径  GOPROXY=https://goproxy.cn,direct 中去拉去代码

所以私人的库是没法找且下载的。

3.在go 1.13版本后增加了GOPRIVATE 环境变量

go env -w GOPRIVATE=e.coding.net

通过它可以将 e.coding.net设置为私有仓库,单个go get遇到此域名下的所有依赖时,会直接通过git进行。这样解决了私有库的问题

此时编辑器上已经不爆红 

4.导入包名问题

在开始直接引入包的时候由于示例中 的包名 是micro-order在使用 go mod init 新建的时候将包名 定义成 order,此时在使用  

replace caoxiukang123456/micro-order => e.coding.net/caoxiukang123456/micro-order/micro-order.git v1.0.1 导入包名的时候会报错 
  1. module declares its path as: order
  2. but was required as: caoxiukang123456/micro-order

这是因为在该包中设置的 名字为order 但是外部引入他的时候又使用了caoxiukang123456/micro-order 为包名,解决办法就是 将之前的项目 go.mod 删掉,从新

go mod init caoxiukang123456/micro-order 即可 或者引入 时修改成 

replace order => e.coding.net/caoxiukang123456/micro-order/micro-order.git v1.0.1

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/844345
推荐阅读
相关标签
  

闽ICP备14008679号