gohack:对Go模块的依赖项进行临时编辑

时间:2021-02-03 14:23:33
【文件属性】:
文件名称:gohack:对Go模块的依赖项进行临时编辑
文件大小:39KB
文件格式:ZIP
更新时间:2021-02-03 14:23:33
go golang modules vgo GoGo Gohack:Go模块依赖项的可变签出 新的Go模块系统很棒。 它确保可重复的确定性Go代码构建。 外部模块代码在本地缓存在只读目录中,这对于重现性很有用。 但是,如果您习惯于使用$GOPATH这个全局可变名称空间,那么就会有一个明显的问题:如果我对程序进行黑客攻击并且想要更改这些外部模块之一,该怎么办? 您可能想log.Printf一个偷偷摸摸的log.Printf语句,以了解某些内部数据结构的工作方式,或者尝试进行错误修复,看看它是否可以解决您的最新问题。 但是,由于所有这些外部模块都位于只读目录中,因此很难更改它们。 而且您真的不想更改它们,因为这将破坏Go工具在构建时进行的完整性检查。 幸运的是,模块系统提供了解决此问题的方法:您可以在go.mod文件中添加一条replace语句,该语句将保存模块的目录的内容替换为只读的缓存副本。 您当然可以手动执行此操作,但是gohack的目标是使此过程轻松自如。 使用安装gohack go get github.com/rogpeppe/gohack 或使用 : gobin github.com/rogpeppe/gohack 用于
【文件预览】:
gohack-master
----.travis.yml(186B)
----testdata()
--------get-vcs.txt(1KB)
--------get-relative-parent.txt(791B)
--------get-force.txt(1KB)
--------undo.txt(886B)
--------get-vcs-relative-parent.txt(1KB)
--------get-vcs-relative.txt(1KB)
--------undo-not-existent.txt(457B)
--------get-push-replace.txt(838B)
--------status.txt(418B)
--------undo-hack.txt(510B)
--------get-relative.txt(823B)
--------get-no-main-mod.txt(100B)
--------get.txt(914B)
--------get-no-gomod.txt(717B)
--------undo-all.txt(560B)
--------mod()
--------help.txt(260B)
--------undo-hack-inblock.txt(586B)
----cmdget.go(12KB)
----vcs.go(5KB)
----io.go(2KB)
----pseudo.go(5KB)
----os_1.11.go(861B)
----gomodcmd.go(3KB)
----base.go(908B)
----exec.go(1KB)
----os_1.12.go(212B)
----cmdundo.go(5KB)
----LICENSE(1KB)
----cmdstatus.go(799B)
----help.go(1KB)
----main.go(4KB)
----script_test.go(1KB)
----go.sum(1KB)
----README.md(3KB)
----mod.go(4KB)
----go.mod(177B)

网友评论