继续 forked github repo 得到 "unexpected module path" 错误

go get on forked github repo got "unexpected module path" error

我目前正在使用此存储库 https://github.com/awslabs/goformation. Because I did some customise so I made a fork https://github.com/vrealzhou/goformation.

在 AWS Cloudformation 上工作

现在在我的另一个项目中(使用 go 模块)我正在尝试使用 go get github.com/vrealzhou/goformation@v2.3.1 并且我遇到了这个错误:

go: github.com/vrealzhou/goformation@v0.0.0-20190513073615-ff3b65adb278: parsing go.mod: unexpected module path "github.com/awslabs/goformation"
go: error loading module requirements

有谁知道这个问题的原因以及如何解决?谢谢

您可以在 go.mod 中使用 replace 来使用分支而不是上游版本。这样,您可以对代码进行任何需要的修改,而无需更新模块路径或导入路径。

具体来说,在这种情况下,您可以在 go.mod 中执行以下操作(我通过分叉回购协议进行了测试,进行了一些小改动,并确认它出现了):

require github.com/awslabs/goformation v1.4.1

replace github.com/awslabs/goformation => github.com/vrealzhou/goformation master

您第一次构建或测试时,master 将被最新的 pseudo-version 替换为您的分叉,以确保您获得可重复的构建。 replace 需要特定版本才能进行替换。