如何调试依赖项包?如果我有它的源代码

Dag*_*ang 8 go

我的Go项目取决于package example.com/foo。我正在使用Go 1.12,因此Go模块会自动引入依赖项。现在,依赖项内部发生错误,我想通过添加日志或逐步执行来调试它。我可以在GitHub上找到依赖项的源代码,但是我不知道如何将其放入我的项目中,因此它代替了Go模块引入的依赖项。

Giu*_*oni 14

首先将所有依赖包提取到vendor文件夹中。

go mod vendor
Run Code Online (Sandbox Code Playgroud)

然后,更改其中的源代码并通过指定查看vendor文件夹来构建您的项目。

go build -mod=vendor
Run Code Online (Sandbox Code Playgroud)

或者

go run -mode=vendor myapp.go
Run Code Online (Sandbox Code Playgroud)

  • 你不需要。Vendor 文件夹将包含所有包,但您只需更改要调试的包。 (2认同)

owl*_*lks 8

您可以使用替换指令

replace example.com/original/import/path => /your/forked/import/path
Run Code Online (Sandbox Code Playgroud)


Par*_*ani 5

Go模块将软件包提取到其中,$GOPATH/pkg/mod您可以在此处更改源代码,也可以使用go mod的vendor选项将软件包拉入vendor文件夹,然后在此处开始编码。