- 一、环境:
- 二、安装环境
- 1、mingw 安装
- 2、gcc 和 g++ 区别
- 3、添加 go 模块代理
- 4、环境变量
- 三、编译后端
- 四、启动前端
- 五、启动后端
- 1、解决办法
- 2、修改默认端口号
- 六、说明
- 七、前端解决方案
- 八、后端解决方案
grafana 参考开发文档 https://github.com/grafana/grafana/blob/v8.1.5/contribute/developer-guide.md,建议选择对应版本的对应开发文档,不同版本可能有变化
文章写的比较简单,都启动成功才记录的,所以少了很多截图,如果有其他错误可以去 grafana 的问题中查找,一般都能找到 https://github.com/grafana/grafana/issues
一、环境:node:16.4.0
go:1.71
mingw:9.0
grafana:8.0.0 或 grafana:8.1.5(这两个版本按如下步骤成功,grafana:8.2.0失败后面有说明)
window 10
版本说明
- go 语言版本需要查看你下载的 grafana 源代码的 go.mod 版本,高于这个指定版本即可,
- mingw 安装 64 位的,不然会报错(当然你也可以使用官网推荐的 TDM-GCC https://jmeubank.github.io/tdm-gcc/)
- 文中所说的 go 和 golang 是一个东西
node、go下载安装配置环境变量比较简单就不说了,grafana 源码从 github 直接拉去就行,下面说说 gcc 的安装
1、mingw 安装grafana 开发文档中讲的是 linux /mac 系统安装比较简单,window 的代替方案为安装适用于 Linux 的 Windows 子系统 (WSL)(开发文档有说明),也可以在 window 上安装 docker 使用Linux容器。
安装 mingw 的目的是安装 c/c++ 编译环境,安装地址 https://sourceforge.net/projects/mingw-w64/,安装完成配置环境变量,打开 cmd 使用 mingw-get install g++ 安装 c/c++ 编译环境(该安装教程自行网上搜索,安装比较慢,WiFi容易失败,或者使用下面链接)
由于是外网,下载比较慢,如果你是科网学上那挺快的,或者你可以使用百度网盘提取,其中里面已经包含 gcc ,下载即用,记得添加环境变量,将 bin 目录添加到 path 中,使用 gcc -v 可以查看版本号证明环境正常
百度网盘链接:https://pan.baidu.com/s/1vk9eJ-a2Ma3SNMNilHoMvQ 提取码:8v42
gcc用于编译C程序,而g++ 用于编译C ++程序。 因为,C程序也可以通过g ++编译,因为它是扩展的,或者可以说是C编程语言的高级编译器。
3、添加 go 模块代理环境变量中添加 GOPROXY=https://goproxy.cn,也可以使用 https://goproxy.io,grafana 服务端是 go 语言开发的,编译构建时 需要下载很多模块,配置代理比较快。
4、环境变量- go
- GOPATH=I:goProject 存放 go 安装的相关模块,类似 node 的安装包,Java 的 maven 依赖
- GOROOT=H:golang 代表 go 的安装目录
- GOPROXY=https://goproxy.cn 表示 go 模块安装的代理
- path=H:golangbin 表示 go 的启动命令
- mingw
- path=H:MinGWmingw64bin
进入源码目录,如:I:goProjectgrafana-8.0.0,执行如下命令
go run build.go setup go run build.go build
使用 go run build.go setup 命令时可能会遇到以下错误(grafana:8.2.0 报的错误,更换为 grafana:8.0.0 或 grafana:8.1.5 成功),注意在安装时如果打印任何错误退出程序最终可能不能正常运行
这种是正常结束的
建议 yarn 配置淘宝镜像
# 查看当前镜像 yarn config get registry # 配置淘宝镜像 yarn config set registry https://registry.npm.taobao.org/
使用如下命令安装依赖启动
# 如果要修改锁定文件,则以错误退出代码中止 yarn install --immutable # 不生成锁文件 # yarn install --pure-lockfile yarn start
前端安装依赖使用 yarn install --immutable 访问首页,可能会报错误 html/template: “index” is undefined,不过官网推荐使用该命令。我使用 yarn install --pure-lockfile 启动正常
五、启动后端注意:
启动 bin/windows-amd64/grafana-server.exe 时,会爆一个错误
方法一:
将 bin/windows-amd64 目录下的所有文件复制到 bin 目录下,则启动正常
方法二:
启动时指定 homepath 路径 grafana-server.exe -homepath “I:goProjectgrafana-8.1.5”
官方地址 https://grafana.com/docs/grafana/latest/installation/windows/
注意:默认的 Grafana 端口是3000. 此端口在 Windows 上可能需要额外的权限。如果它没有出现在默认端口中,您可以尝试更改为其他端口,不要更改 defaults.ini 文件。
修改方法:
- 进入conf目录,复制 sample.ini 到 custom.ini
- 编辑custom.ini并取消 http_port 注释(;是 ini 文件中的注释字符)
- 将其更改为类似8080的端口。
截至 2021-10-26,我测试了 grafana 8.0.0 和 grafana 8.1.5 版本如上操作正常,当我使用 grafana 8.2.0 时遇到错误
该错误在 grafana 的源码问题中可以找到,但针对 window 暂时没找到好的解决方法https://github.com/grafana/grafana/issues?q=undefined%3A+server.Initialize
我最终将降版本使用 8.0.0 和 8.1.5 都可以正常运行,没有出现该错误
七、前端解决方案假如你只做 grafana 的前端二次开发,觉得后端这些搭建比较麻烦,你只想修改 grafana 的前端代码,可以不构建后端代码,使用如下方法
你可以下载 grafana 的程序安装包(不是源码),在下载一份源码文件,只需要安装上面说的步骤构建前端,然后修改程序安装包的 grafana-8.1.5confdefaults.ini 文件,修改如下位置,指定前端代码路径,其实你也可以直接删除程序安装包的 public 目录,将自己的源码 public 复制进去,就可以不修改配置文件
最后,你只需要启动源码的前端(使用 yarn start),运行 grafana 服务器(/bin/grafana_server.exe),访问 127.0.0.1:3000 即可成功
如果你只做后端的二次开发,只需要将前端 yarn build 打包即可,不需要 yarn start 启动前端,只需要启动 bin/grafana-server.exe 即可,启动时会去加载配置文件中配置的静态资源



