grafana碰到的坑

问题:

发生了什么:

使用以下命令在 Windows 上构建后端失败:

go run build.go build

您期望发生的事情:

期望构建 go 后端二进制文件。

如何重现它(尽可能最小和精确):

在 Windows 上,只需按照此处在 Windows 上构建的过程运行命令:https ://github.com/grafana/grafana/blob/HEAD/contribute/developer-guide .md

还有什么我们需要知道的吗?:

这是日志的样子:

$ go run build.go build

Version: 8.3.0, Linux Version: 8.3.0, Package Iteration: 1635031358pre

building binaries build

building grafana-server ./pkg/cmd/grafana-server

rm -r ./bin/windows-amd64/grafana-server.exe

rm -r ./bin/windows-amd64/grafana-server.exe.md5

go build -ldflags -w -X main.version=8.3.0-pre -X main.commit=f496c31018 -X main.buildstamp=1634921041 -X main.buildBranch=main -buildmode=exe -o ./bin/windows-amd64/grafana-server.exe ./pkg/cmd/grafana-server

# github.com/grafana/grafana/pkg/cmd/grafana-server/commands

pkg\cmd\grafana-server\commands\cli.go:168:12: undefined: server.Initialize

exit status 2

exit status 1

环境:

Grafana 版本:主要

数据源类型和版本:不适用

操作系统 Grafana 安装在:Windows 10

用户操作系统和浏览器:不适用

Grafana 插件:不适用

其他:go版本go1.17.2 windows/amd64

解决方法:https://github.com/grafana/grafana/issues/40839

1、 go get -d github.com/google/wire/cmd/wire 手动安装 gen;

2、删除 //go:build wireinject && oss 这两个注释

// +build wireinject,oss

3、wire gen ./pkg/server

4、wire gen ./pkg/cmd/grafana-cli/runner

5、执行 go run build.go setup

go run build.go build

看起来wire_gen.go文件没有按照产生该错误的行的假设生成

使用手动安装电线:go get -d github.com/google/wire/cmd/wire然后使用手动生成wire gen ./pkg/server会出现以下错误:

$ wire gen ./pkg/server/

wire: C:\Projects\grafana\repos\grafana\pkg\server\wire.go:175:13: undeclared name: wireExtsSet

wire: C:\Projects\grafana\repos\grafana\pkg\server\wire.go:180:13: undeclared name: wireExtsTestSet

wire: generate failed

似乎是一个gopls问题,因为变量是在文件中声明的wireexts_oss.go- 一个快速的hacky解决方案是删除该文件中的注释构建标签:

//go:build wireinject && oss

// +build wireinject,oss

并再次运行wire gen ./pkg/server,它首先生成了预期的文件

有什么更好的解决方案吗?似乎这应该是内部逻辑的一部分build.go

插件离线下载方法

1、将插件包在/data/plugins 中解压

2、修改 defaults.ini 中 allow_loading_unsigned_plugins = alexanderzobnin-zabbix-datasource

3、重启服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值