准备工作

环境搭建

这里,我们需要一个 Go 的环境,所以关于 GOPATH / GOROOT 啥的,都要齐全了。

script
1
go get github.com/golang/dep/cmd/dep

源码准备

源码是在 Github 上的,国内访问比较慢,想克隆下来,搞不好就失败了。所以这里建议大家使用 Gitee 先把 Github 拉过来,再从 Gitee 上克隆。

script
1
git clone git@gitee.com:ci123-prometheus/influxdb.git

开始编译

编译前的说明:

因为目前 Github 上的 InfluxDB 已经是 2.0 版本了,对于这个版本的 编译, 我按照官方的说明 进行编译, 出现了许多的 依赖包的 问题 , 所以就编译失败了, 后来换成 1.8 的版本, 也是这样子。不得已,只好先用 1.7.8 的版本来进行 编译。

dep ensure 的时候,可能出现依赖包 无法下载的情况,这里,我们需要 进行代理的设置: Git设置代理 ,但是好像这样设置的也不行 。 可以开 全局代理 试试。笔者不是这么做的。

笔者在 阿里云 购买的 香港 的服务器,直接 dep ensure ,就搞定了。 随后把 src 里面的包 给 抠了 下来。 现在这里分享出来: . 里面的 InfluxDB 的 branch 是 1.7.8 。 1.8 版本 之后的 编译,我在研究研究。

dep ensure 之后, 我们 进入 influxdb 文件 目录 , 执行:

1
2
3
go clean ./...

go install ./...

在 香港 的 服务器上, 执行的 刚刚的 。 在 bin 的目录下 , 我们可以看到有一下的执行文件:

1
2
3
4
5
6
7
8
9
-rwxr-xr-x 1 root root 13854153 Oct 22 13:43 dep*
-rwxr-xr-x 1 root root 27637176 Oct 22 14:07 influx*
-rwxr-xr-x 1 root root 41694385 Oct 22 14:07 influxd*
-rwxr-xr-x 1 root root 15619909 Oct 22 14:07 influx_inspect*
-rwxr-xr-x 1 root root 10945093 Oct 22 14:07 influx_stress*
-rwxr-xr-x 1 root root 38560992 Oct 22 14:07 influx_tools*
-rwxr-xr-x 1 root root 19449375 Oct 22 14:07 influx_tsm*
-rwxr-xr-x 1 root root 6647157 Oct 22 14:07 stress_test_server*
-rwxr-xr-x 1 root root 3678936 Oct 22 14:07 test_client*

这就算编译好了。 关于 1.8 的编译 或者是 2.0 的编译,大家是怎么编译的,可以参考下嘛?