`

Windows下部署Grafana的前端与后端开发环境的过程

 
阅读更多

Grafana地址:https://github.com/grafana/grafana

 

依赖项:

Go 1.10

NodeJS LTS

 

go是后端,NodeJS是前端的。

 

首先我们搭建后端环境:

1、安装GO,设置环境变量信息等。

2、后端编译要用到GCC,所以需要安装GCC

 

以上步骤可参考,写的非常详细。:https://studygolang.com/articles/11384?fr=sidebar

  

3、grafana在github上给的后端构建命令如下:

Building the backend

go get github.com/grafana/grafana
cd $GOPATH/src/github.com/grafana/grafana
go run build.go setup
go run build.go build

如果能用官方的命令是最好,方便快捷。

但是在国内并不一定访问的挺好,可能通过命令下载不下来。

所以本人是在浏览器中直接下载下来,然后自己组织构建目录的。反正就是别怕出错随便搞有错就修改。

例如:

golang.dep的目录结构:src\github.com\golang\dep

grafana主目录:src\github.com\grafana\grafana

 

然后进入grafana主目录:src\github.com\grafana\grafana

执行命令:go run build.go setup

setup执行成功后,就执行build命令:go run build.go build

这2条命令的成功执行结果大概如此:

 

PS E:\goworkspace\grafana\src\github.com\grafana\grafana> go run build.go setup
Version: 5.3.0-pre1, Linux Version: 5.3.0, Package Iteration: 1532831485pre1
go get -v github.com/golang/dep
go install -v ./pkg/cmd/grafana-server
github.com/grafana/grafana/pkg/api/pluginproxy
github.com/grafana/grafana/pkg/api
github.com/grafana/grafana/pkg/cmd/grafana-server
PS E:\goworkspace\grafana\src\github.com\grafana\grafana> go run build.go build
Version: 5.3.0-pre1, Linux Version: 5.3.0, Package Iteration: 1532831534pre1
rm -r ./bin/windows-amd64/grafana-server.exe
rm -r ./bin/windows-amd64/grafana-server.exe.md5
go version
go version go1.10.3 windows/amd64
Targeting windows/amd64
go build -ldflags -w -X main.version=5.3.0-pre1 -X main.commit=unknown-dev -X main.buildstamp=1532831534 -o ./bin/windows-amd64/grafana-server.exe ./pkg/cmd/grafana-server
rm -r ./bin/windows-amd64/grafana-cli.exe
rm -r ./bin/windows-amd64/grafana-cli.exe.md5
go version
go version go1.10.3 windows/amd64
Targeting windows/amd64
go build -ldflags -w -X main.version=5.3.0-pre1 -X main.commit=unknown-dev -X main.buildstamp=1532831539 -o ./bin/windows-amd64/grafana-cli.exe ./pkg/cmd/grafana-cli
PS E:\goworkspace\grafana\src\github.com\grafana\grafana>
 成功执行后,会在grafana主目录生成构建生成的4个文件:

src\github.com\grafana\grafana\bin\windows-amd64

需要将这几个文件复制到bin目录下,grafana-server.exe才能启动。

访问地址:http://localhost:3000/login

得到结果是:html/template: "index" is undefined,应该是前端还没有构建访问不通。

如果想验证后端是否正常编译成功,可以将这4个文件复制到用grafana提供的安装包安装后的bin目录中,覆盖原内容,然后启动,就会使用我们编译后的后台内容。

打开golang就可以愉快的开发GO了。

 

搭建前端编译环境:

 

1、安装NodeJS

查看安装的版本:

PS E:\goworkspace\grafana\src\github.com\grafana\grafana> node -v
v8.11.3
PS E:\goworkspace\grafana\src\github.com\grafana\grafana> npm -v
5.6.0
PS E:\goworkspace\grafana\src\github.com\grafana\grafana>

 

2、编译代码

官方提供的命令

npm install -g yarn
yarn install --pure-lockfile
npm run watch

网络环境好的话,非常方便,一路下来非常顺利。不好的话就自己看着办吧,主要麻烦就在依赖上,找百度吧。

进入grafana主目录:E:\goworkspace\grafana\src\github.com\grafana\grafana

执行:npm install -g yarn

PS E:\goworkspace\grafana\src\github.com\grafana\grafana> npm install -g yarn
C:\Users\Administrator\AppData\Roaming\npm\yarnpkg -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\yarn\bin\yarn.js
C:\Users\Administrator\AppData\Roaming\npm\yarn -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\yarn\bin\yarn.js
+ yarn@1.9.2
updated 1 package in 34.167s
PS E:\goworkspace\grafana\src\github.com\grafana\grafana>

然后执行:yarn install --pure-lockfile

网络便宜,访问github都不通,基本上就是有的通,有的不通,有时候通,有时候又不行,全看心情:

PS E:\goworkspace\grafana\src\github.com\grafana\grafana> yarn install --pure-lockfile
yarn install v1.9.2
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@1.2.4: The platform "win32" is incompatible with this module.
info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
[-/4] ⠠ waiting...
[2/4] ⠐ node-sass
[-/4] ⠐ waiting...
error E:\goworkspace\grafana\src\github.com\grafana\grafana\node_modules\phantomjs-prebuilt: Command failed.
Exit code: 1
Command: node install.js
Arguments:
Directory: E:\goworkspace\grafana\src\github.com\grafana\grafana\node_modules\phantomjs-prebuilt
Output:
PhantomJS not found on PATH
Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-windows.zip
Saving to C:\Users\Administrator\AppData\Local\Temp\phantomjs\phantomjs-2.1.1-windows.zip
Receiving...

Error making request.
Error: connect ETIMEDOUT 52.216.17.104:443
    at Object._errnoException (util.js:992:11)
    at _exceptionWithHostPort (util.js:1014:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14)

 这个错,网上的各种方法都试了不行,包括使用了淘宝镜像,cnpm,最后还是会去请求这个下载路径。

在最后参考了这篇文章:https://www.cnblogs.com/linyihai/p/7143719.html

其实它请求的那个路径,我在浏览器也访问不了,下载不成,最后放到XL里面,几十K的下载了老半天,才下载下来,然后把它丢到他要保存的缓存目录里面:

C:\Users\Administrator\AppData\Local\Temp\phantomjs\phantomjs-2.1.1-windows.zip

 

再执行:yarn install --pure-lockfile

果然不报phantomjs的错误了,又出来个新的:

................
gyp verb could not find "msbuild.exe" in PATH - finding location in registry
gyp info spawn C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
�ڴ˽��������һ������һ����Ŀ����Ҫ���ò������ɣ�����ӡ�/m�����ء�
������ʱ��Ϊ 2018/7/29 ������ 11:16:50��
�ڵ� 1 �ϵ���Ŀ��E:\goworkspace\grafana\src\github.com\grafana\grafana\node_modules\node-sass\build\binding.sln��(Ĭ��Ŀ��)��
ValidateSolutionConfiguration:
  �������ɽ���������á�Release|x64����
MSBUILD : error MSB3428: δ�ܼ��� Visual C++ �����VCBuild.exe����Ҫ��������⣬1) ��װ .NET Framework 2.0 SDK��2) ��װ Microsoft Visual Studio 2005���� 3)  ������������װ��������λ�ã��뽫��λ����ӵ�ϵͳ·���С� [E:\goworkspace\grafana\src\github.com\grafana\grafana\node_modules\node-sass\build\binding.sln]
�����������Ŀ��E:\goworkspace\grafana\src\github.com\grafana\grafana\node_modules\node-sass\build\binding.sln��(Ĭ��Ŀ��)�IJ��� - ʧ�ܡ�

����ʧ�ܡ�

��E:\goworkspace\grafana\src\github.com\grafana\grafana\node_modules\node-sass\build\binding.sln��(Ĭ��Ŀ��) (1) ->
(_src_\libsass Ŀ��) ->
  MSBUILD : error MSB3428: δ�ܼ��� Visual C++ �����VCBuild.exe����Ҫ��������⣬1) ��װ .NET Framework 2.0 SDK��2) ��װ Microsoft Visual Studio 2005���� 3) ������������װ��������λ�ã��뽫��λ����ӵ�ϵͳ·���С� [E:\goworkspace\grafana\src\github.com\grafana\grafana\node_modules\node-sass\build\binding.sln]

    0 ������
    1 ������

����ʱ�� 00:00:00.42
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (E:\goworkspace\grafana\src\github.com\grafana\grafana\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 10.0.16299
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "E:\\goworkspace\\grafana\\src\\github.com\\grafana\\grafana\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd E:\goworkspace\grafana\src\github.com\grafana\grafana\node_modules\node-sass
gyp ERR! node -v v8.11.3
gyp ERR! node-gyp -v v3.6.2

这个问题百度老半天,试了好多种没有解决,自己去找吧。过程是很不爽的。

2018-07-29前端环境没有搞好。

 

 

 

 

分享到:
评论

相关推荐

    基于fastapi的爬虫可视化调度系统完整源码(含前端+后端+部署文档).zip

    1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通。 2.主要针对各个计算机相关专业,...基于fastapi的爬虫可视化调度系统完整源码(含前端+后端+部署文档).zip

    基于Flask+Vue开发部署web端yolov5目标检测模型源码(前端+后端).zip

    1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用! 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能...基于Flask+Vue开发部署web端yolov5目标检测模型源码(前端+后端).zip

    健身类微信小程序前端和后端源码

    健身类微信小程序前端和后端源码 部署环境 建议应用宝塔面板,配置好 php7.2 加 mysql5 ,建即时1个站点,然后将解压后的源码上传到该目录下 宝塔面板->网站->本站->设置->网站目录->运转目录->选择 public 伪...

    自动化部署发布系统支持后端前端多机发布定时发布支持webshh和多窗口功能

    打造一款强大的可视化发布系统,用WEB的方式实现系统的发布、备份、中断、和恢复能力,支持单机、多机、前端、后端的发布能力。

    docker部署nginx,挂载多个前端部署目录以及跨域问题解决方案.txt

    为了节约成本,很多时候一台server 的nginx可能要部署多个前端的情况,本实例是在docker环境下部署两个前端,同时处理前端调用后端跨域问题,本示例为阿里云centos7 系统docker20.10.6环境下nginx1.19.5版本 ...

    基于javaweb的图书管理系统(前端+后端)源码.zip

    一个基于javaweb的图书管理系统,前端由HTML/CSS/JavaScript编写,后端由java编写。 功能说明: 支持用户基本借书还书 支持书籍名模糊搜索 支持用户先添加再整体借书 支持用户修改个人信息 支持借书时间及借书...

    基于python实现处理机和进程调度算法及内存分配回收机制实验源码+超详细注释+详细说明(含前端+后端).zip

    无论您是运行还是二次开发,部署过程若遇到问题,请及时私信交流,欢迎学习。 基于python实现处理机和进程调度算法及内存分配回收机制实验源码+超详细注释+详细说明(含前端+后端).zip 基于python实现处理机和进程...

    K8S部署grafana7.5.11资源清单及镜像文件

    原文链接:https://blog.csdn.net/m0_37814112/article/details/122170537 说明:grafana7.5.11镜像文件及资源清单文件,后端存储采用nfs

    后端开发.zip

    后端开发还涉及一些开发工具的使用,如用于Java应用程序的在线诊断工具Arthas、集成开发环境(IDE)插件Cloud Toolkit、混沌工程故障注入工具ChaosBlade等,这些工具可以帮助开发人员更有效地开发、测试、诊断和部署...

    Rust Yew 前端+后端 源代码,帮助大家快速了解和掌握Rust Yew的SSR的前端开发和基于Rocket的后端开发

    资源中的代码非常简洁易懂,虽然离商用场景还有一段距离,但是涵盖了前端的组件搭建、事件通信和反向代理,以及后端的Restful API的路由、功能实现和数据库访问。此外,还包括了postgres数据库的初始化脚本和docker...

    后端开发项目.zip

    后端开发还涉及一些开发工具的使用,如用于Java应用程序的在线诊断工具Arthas、集成开发环境(IDE)插件Cloud Toolkit、混沌工程故障注入工具ChaosBlade等,这些工具可以帮助开发人员更有效地开发、测试、诊断和部署...

    后端开发模板.zip

    后端开发还涉及一些开发工具的使用,如用于Java应用程序的在线诊断工具Arthas、集成开发环境(IDE)插件Cloud Toolkit、混沌工程故障注入工具ChaosBlade等,这些工具可以帮助开发人员更有效地开发、测试、诊断和部署...

    后端开发积累.zip

    后端开发还涉及一些开发工具的使用,如用于Java应用程序的在线诊断工具Arthas、集成开发环境(IDE)插件Cloud Toolkit、混沌工程故障注入工具ChaosBlade等,这些工具可以帮助开发人员更有效地开发、测试、诊断和部署...

    商城后端开发.zip

    后端开发还涉及一些开发工具的使用,如用于Java应用程序的在线诊断工具Arthas、集成开发环境(IDE)插件Cloud Toolkit、混沌工程故障注入工具ChaosBlade等,这些工具可以帮助开发人员更有效地开发、测试、诊断和部署...

    boot 后端开发.zip

    后端开发还涉及一些开发工具的使用,如用于Java应用程序的在线诊断工具Arthas、集成开发环境(IDE)插件Cloud Toolkit、混沌工程故障注入工具ChaosBlade等,这些工具可以帮助开发人员更有效地开发、测试、诊断和部署...

    后端开发模版.zip

    后端开发还涉及一些开发工具的使用,如用于Java应用程序的在线诊断工具Arthas、集成开发环境(IDE)插件Cloud Toolkit、混沌工程故障注入工具ChaosBlade等,这些工具可以帮助开发人员更有效地开发、测试、诊断和部署...

    后端开发小组.zip

    后端开发还涉及一些开发工具的使用,如用于Java应用程序的在线诊断工具Arthas、集成开发环境(IDE)插件Cloud Toolkit、混沌工程故障注入工具ChaosBlade等,这些工具可以帮助开发人员更有效地开发、测试、诊断和部署...

    后端开发学习.zip

    后端开发还涉及一些开发工具的使用,如用于Java应用程序的在线诊断工具Arthas、集成开发环境(IDE)插件Cloud Toolkit、混沌工程故障注入工具ChaosBlade等,这些工具可以帮助开发人员更有效地开发、测试、诊断和部署...

    柚子门店会员卡 1.6.2 小程序前端+后端.zip

    柚子门店会员卡 1.6.2 小程序前端+后端,柚子门店会员卡 1.6.2 小程序前端+后端,柚子门店会员卡 1.6.2 小程序前端+后端

    JAVA_后端开发.zip

    后端开发还涉及一些开发工具的使用,如用于Java应用程序的在线诊断工具Arthas、集成开发环境(IDE)插件Cloud Toolkit、混沌工程故障注入工具ChaosBlade等,这些工具可以帮助开发人员更有效地开发、测试、诊断和部署...

Global site tag (gtag.js) - Google Analytics