安装Prometheus的Mongo Exporter时执行make release命令报错
解决Mongo Exporter执行
make release的错误 错误原因分析
出现的两个核心问题:
--rm-dist参数已被goreleaser弃用,官方要求替换为--clean- 最新版goreleaser的NFPM配置中已移除
replacements字段,但项目的.goreleaser.yml第91行仍在使用该字段,导致配置解析失败
具体解决步骤
方法一:指定兼容的旧版goreleaser镜像(推荐,无需修改配置文件)
修改项目根目录下的Makefile,找到release目标对应的docker命令,做两处调整:
- 将
goreleaser/goreleaser替换为支持replacements字段的旧版本镜像(比如goreleaser/goreleaser:v1.19.2) - 把
--rm-dist替换为--clean
修改后的命令示例:
docker run --rm --privileged \ -v /Users/hirenmorenew/Documents/Innovate/mongodb_exporter:/go/src/github.com/user/repo \ -w /go/src/github.com/user/repo \ goreleaser/goreleaser:v1.19.2 release --snapshot --skip-publish --clean
方法二:更新.goreleaser.yml配置适配新版goreleaser
找到.goreleaser.yml第91行的replacements字段,替换为新版goreleaser支持的写法:
- 若
replacements用于替换包名/版本变量,可直接在nfpm的packages块中使用模板变量 - 若用于替换文件路径,可迁移到
contents配置块中
示例修改(假设原配置用于替换版本变量):
原旧版配置:
nfpm: replacements: version: ${VERSION}
新版适配配置:
nfpm: packages: - name: mongodb_exporter version: ${VERSION} # 保留其他原有配置
验证修复
修改完成后,重新执行make release命令即可正常构建。
内容的提问来源于stack exchange,提问作者Hiren More
相关产品推荐
相关产品推荐

