作者:亦惜缘2 | 来源:互联网 | 2023-10-12 13:40
难顶啊,为什么做个事情就不能顺顺利利的完成呢?总有一些幺蛾子.可能有小伙伴就好奇了,明明我Docker已经整好了,为什么还弄自行编译的活呢?话接上篇.0.前言-Docker容器报
难顶啊,为什么做个事情就不能顺顺利利的完成呢?
总有一些幺蛾子.
可能有小伙伴就好奇了,
明明我Docker已经整好了,为什么还弄自行编译的活呢?
话接上篇.
0.前言-Docker容器报错.
1. 配置环境&下载源码.
官方教程
需要的准备工作;
- JAVA,配置好环境变量.
- Python 2.7,配置好环境变量.注意一定要是2.7
- Go,配置好环境变量(GOROOT,GOPATH).
OK,准备好了以后,安装官方教程.
Next, download the Battery Historian code and its dependencies:
$ go get -d -u github.com/google/battery-historian/…
还是太年轻,我特么就知道事情不可能这么顺利.
搜索引擎,关键字走起.
于是我找到了这个:
https://github.com/golang/lint/issues/288
很相似对不对,只不过别人是下载golint,我是下载battery-historian.
然后我看到了这个:
在GOPATH路径下面创建 /src/golang.org/x 路径,然后直接使用git clone下载.
那么我可用直接魔改一下 官方的这个下载 battery-historian的命令,改成
git clone https://github.com/google/battery-historian
我特么不禁要为我自己的机智点个赞.
2.运行battery-historian
参考这个解决办法:
找不到protobuf
科学上网,
尝试过clone github官方的源码,但是发现会卡住.
使用这篇博客内的国内托管的地址,很顺利下载完.
在GOROOT的路径内创建文件夹,放进去,
再次运行go run setup.go
安装setup.go内的代码,下载3个依赖.
下载的closure-library 报错…
直接手动clone吧.
closure-library地址
3.运行battery-historian
go run cmd/battery-historian/battery-historian.go
很顺利的运行起来了,默认端口是 9999.
打开浏览器输入localhost:9999
看到熟悉的页面,
选择文件bugreport.zip
emmm…还是选择文件不了,没有submit按钮.
全局搜索 historian-optimized.js 没有.
打开battery-historian的主目录,打开 setup.go
发现这个文件是output出来的,地址是在 battery-historian\compiled内,
打开historian-optimized.js搜索报错的关键字,
发现代码是:
d3.scaleOrdinal().domain([0,1,2,3,4])
而不是
d3.scale.ordinal().domain([0,1,2,3,4])
找了下d3这个库,然后找到V3和V4版本的差异.
D3 V3 与V4的变化
果然就是d3的问题, 也就是
setup.go生成的historian-optimized.js是v4版本的,但是执行打开端口运行的battery-historian.go的是v3版本.2个版本不一致导致.
但是怎么解决这个问题呢?
直到我找到这个pull记录.
pull记录
很好奇的是不知道为什么我最新clone下来的设置的还是V4.
按照这个pull的改动,找到这个base.html
将里面的4.9.1 -> 3.5.17
重新运行setup.go生成historian-optimized.js文件,再重新运行battery-historian.go
上传图片,终于有submit按钮了.
这真有你的啊,Google!