Grafana开发环境搭建
Grafana源码
Grafana版本: 6.5.1
将 Grafana 源码 clone 到本地,源文件较多,如果 github 下载不成功,建议试试 gitee.
下载完成后,打开 grafana 的 package.json 查看对 node 版本的要求:
Node.js
node.js 版本: 10.18.1
grafana-6.5.1 版本对 node 版本需求为 >=10 < 11,根据此要求下载相应版本的 node.js。
windows
安装到自己喜欢的文件夹,本文为 D:\node.js\install,将 node.js 配置到环境变量:
打开命令行,键入 node -v ,如果一切顺利,将会看到 node 的版本信息:
ubuntu
下载 node-v10.18.0-linux-x64.tar.gz 并解压缩到自己喜欢的路径,据解压缩路径配置 node.js 到环境变量:
vi ~/.bashrc
文件末尾添加:
source ~/.bashrc
打开终端,键入 node -v ,如果一切顺利,将会看到 node 的版本信息:
GCC
本文安装的 gcc 版本为: 4.8.2
windows
下载离线版本的 mingw-64, 解压缩到自己喜欢的目录,本文解压到目录 D://mingw64,这个安装目录将决定您的有关 gcc 的环境变量配置信息。
配置环境变量:
需要把 mingw-64 的 bin,include,lib 分别配置到环境变量 path,include,lib:
bin
include
lib
如果一切顺利,在命令行工具中输入 gcc -v 应该会看到 gcc 的版本信息如下图所示:
ubuntu
一般来说ubuntu系统自带gcc,输入 gcc --version 查看版本信息:
假设 gcc 版本不合要求怎么办呢,这就需要卸载现有版本并安装制定版本gcc:
sudo apt-get install gcc-4.8 g++-4.8
Python2
本文安装的 Python 版本为 2.7.15
windows
下载 Python2 的安装程序,安装到自己喜欢的目录:
配置环境变量:
如果一切顺利,在命令行工具中输入 python 会看到 python 的版本信息:
ubuntu
一般来说,ubuntu会自带安装python2,终端输入 python 查看是否已经安装以及相应版本信息:
Go
本文安装的 Go 版本为: 1.13.5
windows
下载 Golang安装包,安装到自己喜欢的目录:
配置环境变量:
GOROOT
GOPATH
GOPROXY
path
如果一切顺利,命令行输入 go version 将会看到相应的版本信息:
ubuntu
下载 go1.13.5.linux-amd64.tar.gz 并解压缩到自己喜欢的路径,据解压缩路径配置环境变量:
vi ~/.bashrc
在文件末尾添加:
这里 GOPROXY 是配置 GO 的代理,防止某些资源因为网络原因下载过慢。
source ~/.bashrc
如果一切顺利,终端输入 go version 查看版本信息:
编译Grafana前端源码
-
修改下载仓库为淘宝镜像:
npm config set registry http://registry.npm.taobao.org/
-
如果修改下载源之后依然下载缓慢,可以尝试为 npm 配置上网代理:
npm config set proxy http://username:password@server:port
-
安装 yarn:
npm install -g yarn
-
安装依赖
yarn install --pure-lockfile
如果一切顺利,此时会看到依赖下载到了 node_modules 文件夹: -
构建前端
yarn build
-
热启动
热启动的方式可以保证 grafana 源码修改后立即生效,不过需要重启一下 grafana-server + 清理浏览器缓存.
yarn start
编译Grafana后端源码
go run build.go setup
go run build.go build
如果一切顺利,此时会看到多了一个 bin 文件夹,将 bin/windows-amd64 下的 grafana-server.exe 和 grafana-cli.exe 拷贝到 bin 文件夹下,启动 grafana-server.exe,浏览器访问 localhost:3000 即可登录 grafana.
所有涉及 *.go 源文件的更改都需要重新 go run build.go build 然后将新生成的 grafana-server.exe 拷贝到 bin 目录下。
可能遇到的问题
-
编译后端代码时报错: cc1.exe: sorry, unimplemented: 64-bit mode not compiled in
原因是在用 Go 调试 C 的时候,要保证 Go 和 gcc 的位数一致,即要么都是32位,要么都是64位:You are using 64-bit version of Go. You must use 64-bit gcc compiler.
-
go run build.go setup 超时无反应:
需要配置 GOPROXY 到环境变量中。 -
yarn install 一直卡在 Building fresh packages…
原因应该是网络,可是已经改过镜像源为国内地址了啊,再试试配置node-sass的二进制包镜像地址:yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
不过,这个步骤即使不通过,貌似也不会有影响,还是可以运行成功。
-
GLIBC not found
这是由于 GLIBC 版本太低,需要升级:
在此 http://ftp.twaren.net/Unix/GNU/gnu/libc/ 选择需要的GLIBC版本。tar -zxvf glibc-2.17.tar.gz cd glibc-2.17 mkdir glibc-build cd glibc-build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin make make install
这一套操作下来,GLIBC就装好啦,验证一下试试看:
参考文献
Grafana开发环境搭建
windows下安装mingw-w64
yarn安装node-sass失败问题
解决yarn install一直卡在Building fresh packages
go run build.go setup 卡住不动的问题
GLIBC版本升级
GCC版本升级