我正在尝试将一个 Go 项目转换为新的模块标准,但我在一个依赖项上遇到了问题。
该存储库提供了一个库(在本例中为 golang.org/x/net/html)以向该库添加一些功能;这意味着它已经修改了 vendored 依赖项(向结构添加了一个方法)。
所以问题是,在执行 go mod init
之后,当我执行 go get ./...
时,系统会提示调用该添加的功能,因为它忽略修改后的 vendor 并尝试导入上游库。
有没有办法让 go mod
知道它应该使用 vendored 依赖项?
最佳答案
你可以试试replace
指示。类似的东西
首先
cd ./vendor/golang.org/x/net/html
go mod init
然后在你的根 go.mod
module your/super/module
replace golang.org/x/net/html => ./vendor/golang.org/x/net/html
require golang.org/x/net/html v0.0.0
请注意,require
和 replace
都是必需的。
关于Go模块和依赖修改 vendor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55547592/