xk6同时集成xk6-output-prometheus-remote与xk6-kafka编译失败求助
解决xk6同时构建prometheus-remote和kafka扩展的编译错误
错误原因
编译冲突源于两个扩展依赖的k6核心版本不兼容:
xk6-output-prometheus-remote@v0.2.3是旧版本,依赖的k6 metrics模块中TrendSink.Total方法、metrics.NewTrendSink构造函数在新版本k6中已被移除或修改xk6-kafka@latest依赖较新的k6核心版本,两者API差异导致编译失败
解决办法
方法1:升级prometheus-remote扩展到兼容版本
使用该扩展的最新稳定版或main分支(适配当前k6核心):
./xk6 build --with github.com/grafana/xk6-output-prometheus-remote@main --with github.com/mostafa/xk6-kafka@latest
也可指定具体兼容版本(如v0.6.0及以上,可参考该扩展Release日志确认):
./xk6 build --with github.com/grafana/xk6-output-prometheus-remote@v0.6.0 --with github.com/mostafa/xk6-kafka@latest
方法2:固定k6核心版本,统一依赖基准
选择一个同时被两个扩展支持的k6核心版本(如v0.45.0),强制xk6基于该版本构建:
./xk6 build --with go.k6.io/k6@v0.45.0 --with github.com/grafana/xk6-output-prometheus-remote@latest --with github.com/mostafa/xk6-kafka@latest
方法3:降级kafka扩展到适配旧版prometheus-remote的版本
找到与xk6-output-prometheus-remote@v0.2.3兼容的xk6-kafka版本(如v0.15.0):
./xk6 build --with github.com/grafana/xk6-output-prometheus-remote@v0.2.3 --with github.com/mostafa/xk6-kafka@v0.15.0
验证
执行上述任一命令后,若编译无报错,即可得到同时包含两个扩展的k6二进制文件。
内容的提问来源于stack exchange,提问作者Francisco K6
相关产品推荐
相关产品推荐

