【发布时间】:2021-11-11 12:21:06
【问题描述】:
我正在尝试在 IBM Z(大型机)中构建 golang 包(/vendor/github.com/weaveworks/promrus)。我收到一个错误:./promrus.go:15:25: undefined: logrus.Level 我的 go 版本是:go version go1.16.2 zos/s390x 我试图通读这篇文章:https://www.ibm.com/docs/en/sdk-go-zos/1.16?topic=porting-applications-zos 并添加了一个构建约束(//+build zos),如下所示。但是 undefined 错误仍然没有消失。有什么方法可以建造吗?请提前帮助和感谢。
//+构建 zos
包promrus
进口( “github.com/prometheus/client_golang/prometheus” “github.com/sirupsen/logrus”)
// PrometheusHook 为每个 logrus 的日志公开 Prometheus 计数器 水平。键入 PrometheusHook 结构 { counterVec *prometheus.CounterVec }
【问题讨论】:
-
向文件添加随机约束不仅可以使其工作,而且如果它没有任何约束,则它已经被编译了。
/vendor/github.com/weaveworks/promrus不是要构建的单独包,它包含在另一个项目的供应商文件夹中,但供应商不再真正使用。您到底想构建什么? -
我正在尝试在 IBM Z 中构建 Grafana,其中 promrus 是供应商下的一个包,并且我在其他几个包中也遇到了这个未定义的错误(promrus 只是其中之一)。因此,根据上面的 IBM 文章,我添加了构建约束。有什么方法可以在每个包的基础上构建?
-
你是如何构建项目的? grafana 源码中没有 Go vendor 目录。