V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xiaoyanbot
V2EX  ›  问与答

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

  •  
  •   xiaoyanbot · 2021-05-26 22:16:09 +08:00 · 498 次点击
    这是一个创建于 449 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    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 修改路径吗? 总感觉有点不太对劲,请教各位这种更新子目录里的包,大概是什么样的开发测试流程?

    谢谢

    4 条回复    2021-05-26 22:58:16 +08:00
    xiaoyanbot
        1
    xiaoyanbot  
    OP
       2021-05-26 22:29:31 +08:00
    xiaoyanbot
        2
    xiaoyanbot  
    OP
       2021-05-26 22:41:06 +08:00
    TMaize
        3
    TMaize  
       2021-05-26 22:45:38 +08:00 via Android
    再建一个项目用来测试,导入的包用 gomod 里面的 replace 替换成本地路径
    adjusted
        4
    adjusted  
       2021-05-26 22:58:16 +08:00
    go mod edit -replace 到本地路径,本地调试可以用,但是如果在别的代码里引用这个修改后的 package, 貌似只能把所有路径都改一遍
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2477 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:16 · PVG 20:16 · LAX 05:16 · JFK 08:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.