作者:亦惜缘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!