xiaoyanbot
V2EX  ›  问与答

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

  •  
  •   xiaoyanbot · May 26, 2021 · 1186 views
    This topic created in 1826 days ago, the information mentioned may be changed or developed.

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

    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 replies    2021-05-26 22:58:16 +08:00
    xiaoyanbot
        1
    xiaoyanbot  
    OP
       May 26, 2021
    xiaoyanbot
        2
    xiaoyanbot  
    OP
       May 26, 2021
    TMaize
        3
    TMaize  
       May 26, 2021 via Android
    再建一个项目用来测试,导入的包用 gomod 里面的 replace 替换成本地路径
    adjusted
        4
    adjusted  
       May 26, 2021
    go mod edit -replace 到本地路径,本地调试可以用,但是如果在别的代码里引用这个修改后的 package, 貌似只能把所有路径都改一遍
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5285 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 06:01 · PVG 14:01 · LAX 23:01 · JFK 02:01
    ♥ Do have faith in what you're doing.