golang使用github上fork出来的项目

690 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

最新项目用到了GitHub上的Golang项目,但是作者没怎么维护了,所以需要fork出来进行二次开发。

如何在改动最小的情况下,换到自己二次开发的包呢?

具体步骤如下:

  1. Fork原有的package
  2. 修改代码并发布
  3. 在引用了go package的项目中运行:go mod edit -replace github.com/original/gopackage=github.com/you/go-git@branch

例如,我的项目是:

go mod edit -replace github.com/yutopp/go-rtmp=github.com/pascallin/go-rtmp@master

可以看到go.mod下面最后面会多了一行

module module-name
...
replace github.com/yutopp/go-rtmp => github.com/pascallin/go-rtmp v0.0.2-0.20210218160027-ece21675a185

然后正常运行下go mod tidy就可以了