【Golang】项目go mod的改造

最近在整理组里的旧项目的时候,发现原来一些不太标准的操作,举个例子。最下面是一个叫 A 项目的 go.mod,两个 common 模块是需要指向本地的文件夹中的,这就意味着,换了其他环节编译这个 A 项目的时候,你必须在上层文件夹目录提前下载好两个 common 项目,这就不太标准了,比较好的做法就是直接将依赖指向内部仓库的这两个 common 项目。
在这里插入图片描述
查看一下原因,原来这两个 common 项目的 module path 竟然是一个不存在的仓库名,因此以前老做法是把这两个 common 包 git clone 下来到 A 项目的父目录,然后通过 go.mod 的 replace 重新指向的。

关于 module path 是啥,其实就是 go.mod 文件的第一行,如果项目是通过 go mod init 创建的,可以看看 Go 的官方文档,指个路。
在这里插入图片描述
当然了,一些历史原因,以及这两个既然叫做 common,那么修改 module path 是有风险的,万一忘记修改依赖 common 的其他项目的 go.mod,那么就会编译失败了。

所以这里要做一些 trick,去改造一下,首先把 common 包的 module path 改成内部仓库的地址,然后修改 A 项目的 go.mod 文件,把 replace 部分去掉,然后将 require 部分重新写成 common 的内部仓库地址即可。

通过上面的改造,下次编译 A 项目的时候,就会去远程仓库下载对应版本的 common 依赖了,否则不管是编译还是构建镜像,这都会很麻烦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值