请教 go 语言修改导入 github 自身包的开发和测试流程,使用 replace 吗?

2021-05-26 22:16:09 +08:00
 xiaoyanbot

以这个开源的项目为例子,

https://github.com/GUAIK-ORG/go-snowflake

在这个项目的 main.go 里面引用了自身的二级目录,

import (
	"github.com/GUAIK-ORG/go-snowflake/snowflake"
    )

假设我需要对这个子目录( go-snowflake/snowflake )里的文件进行修改的话,我本地怎么测试呢?

使用 repalce 替换?还是修改 import 语句,

然后将来改完了之后,怎么提 pull request 呢,如果使用替换的包,跟主仓库里的导入就不一样了

如果 fork 了之后,我有自己库的权限了之后,我要怎么测试新的代码呢? 比如我 fork 之后的变为了:

github.com/foo/go-snowflake/snowflake

那我自己测试的时候,要修改 main.go 文件里的 import 修改路径吗? 总感觉有点不太对劲,请教各位这种更新子目录里的包,大概是什么样的开发测试流程?

谢谢

794 次点击
所在节点    问与答
4 条回复
xiaoyanbot
2021-05-26 22:29:31 +08:00
xiaoyanbot
2021-05-26 22:41:06 +08:00
TMaize
2021-05-26 22:45:38 +08:00
再建一个项目用来测试,导入的包用 gomod 里面的 replace 替换成本地路径
adjusted
2021-05-26 22:58:16 +08:00
go mod edit -replace 到本地路径,本地调试可以用,但是如果在别的代码里引用这个修改后的 package, 貌似只能把所有路径都改一遍

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/779437

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX