【发布时间】:2022-01-03 02:14:25
【问题描述】:
我对 golang 中的依赖项有疑问。 我的应用程序定义了一个这样的 go.mod:
module my.host.com/myapp
require (
ext1.com/module1 v0.0.1
)
go 1.14
ext1.com/module1 依赖于 ext2.com/module2 v0.0.2,而后者又依赖于 ext3.com/module3 v0.0.3
安全扫描检测到 ext3.com/module3 v0.0.3 不安全,必须更新到 v0.0.4。 有没有办法“强制”myapp 只获取 repo3.com/module3 v0.0.4,覆盖 module2 v0.0.2 go.mod 中定义的指令? 假设 ext1.com/module1 v0.0.1 已经是最新版本,所以升级它不起作用。 “排除 ext3.com/module3 v0.0.3”也不起作用:构建成功(golang 1.17.2),但出现运行时错误。 “替换”会起作用吗?假设 ext2 v0.0.3 依赖于安全的 ext3 v0.0.4,我的意思是:
module my.host.com/myapp
require (
ext1.com/module1 v0.0.1
)
replace ext2.com/module2 v0.0.2 => ext2.com/module2 v0.0.3
go 1.14
提前致谢!
【问题讨论】:
标签: go dependencies