确保你在使用 Artifactory 7.8 或者更新版本的。较早的版本可能会存在这个问题。
如果你的 Artifactory 是通过 HAProxy 等负载均衡器进行负载均衡,那么需要在负载均衡器上开启“stick-table”特性。具体可以在 HAProxy 配置文件中添加如下配置:
frontend fe_http
mode http
bind *:80
default_backend be_http
stick-table type string len 40 size 100k expire 30m
stick on url_param(module_version)
在 Artifactory 管理界面中,找到“查询优化”选项,确认“使用数据库物理分页”不勾选,这将会确保 Artifactory 使用多版本查询(Multi-version Query)
最后,通过在 go.mod 文件中添加以下配置,也能解决该问题:
module example.com/mymodule
go 1.13
require (
mydep1 v1.3.2
mydep2/v3 v3.0.0
)
replace mydep2/v3 => ../my-private-fork/mydep2/v3