在Go中import自己fork的代码

最近写一个项目用到了github上一个项目的代码,众所周知在Go中使用别人在Github上发布的代码十分简单,只需要import即可,但是由于作者已经有段时间没有更新,而我又因为一些原因需要对其中的部分代码进行修改,因此就fork了一份到自己的仓库,并且做了修改和提交。但是如果就这样直接将import路径修改为自己的github地址的话,则应该会报错,错误信息大概为:module declares it's path “项目原地址”, but required as “我们fork的项目地址”。而且fork的项目里的路径还是原项目的路径,如果我们去手动修改也会十分麻烦。

这个其实很容易解决,以go mod为例,只需要在go.mod文件中先requires项目的源路径,然后在requires外面使用replace将其替换为我们的路径,也就是如下:

requires github.com/xxx/xxx(项目原地址)

replace github.com/xxx/xxx(项目原地址)  version => github.com/yyy/yyy(我们fork后的仓库地址) version

这段话的原理就是将我们代码中import的所有原路径指向我们fork的项目,实际引用的代码就是我们仓库中的代码,同事也可以做一些自定义的修改了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值