EMQTT本地源码搭建填坑记录
因业务需求需要本地搭建一个emqtt的消息队列服务器,根据官网提示搭建失败,具体如下
官方步骤:
Erlang 安装: http://www.erlang.org/
MSYS2 安装: http://www.msys2.org/
MSYS2 安装完成后,根据 MSYS2 中的 pacman 包管理工具安装 Git、 Make 工具软件:
pacman -S git make
编译环境准备之后,clone 代码开始编译:
git clone -b windows https://github.com/emqtt/emqttd-relx.git cd emqttd-relx && make cd _rel/emqttd && ./bin/emqttd console
编译成功后,可执行程序包在目录:
_rel/emqttd
控制台启动编译的 EMQ 程序包:
cd _rel/emqttd && ./bin/emqttd console 坑如下
1.官方已经不使用https://github.com/emqtt/emqttd-relx.git 这个地址了,实际上应该是https://github.com/emqx/emqx-rel.git 理论上clone的时候回自动重定向,但拉下来的项目有时候是不一样的
2.make是一个大坑,erlang的make是一个自动编译的过程,clone下来的项目在make过程中因为配置的git地址等问题,导致编译会不断失败
2.1 rebar编译模块编译失败,需要自行下载rebar 并进行编译
2.2 部分deps依赖存在二次依赖的情况,如lager,emqx目录使用了该依赖,在其他的依赖中也使用了该依赖
2.3 部分deps依赖存在文件无法编译的情况,或存在使用msys2无法编译的,使用windows的rebar编译后可进行后续编译,如/deps/culltefish/src/lager_stderr_backend.erl文件 补充:其实最后这个东西我真的没有搭起来,依赖之类的东西坑太多了,要么就拉不到,要么就编译不上,来来回回折腾了三天(工昨时间),资料也几乎接近于没有,根据手册那几句来根本就干不了。。。劝各位同胞这个坑以后能远点就远点吧
EMQTT本地源码搭建填坑记录的更多相关文章
- Unix 网络编程卷一源码编译踩坑记录 ubtutu 19.10
在阅读unpv1时运行源代码的环境配置,这里简单记录一下 源代码里的README 写得挺详细的,但是在Linux 系统的下还没没办法直接编译通过的, 这里我使用的是ubuntu 19.10(在腾讯云1 ...
- kibana 5.5 源码编译踩坑记录
由于项目需要定制开发kibana,因此需要编译kibana,在开发环境下运行. 注意:必须下载kibana 5.5的源码才能正常编译,下载release或者snapshot版本是不行的,运行npm ...
- webapp填坑记录[更新中]
网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...
- webapp填坑记录
网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...
- Kafka踩坑填坑记录
Kafka踩坑填坑记录 一.kafka通过Java客户端,消费者无法接收消息,生产者发送失败消息 二. 一.kafka通过Java客户端,消费者无法接收消息,生产者发送失败消息 在虚拟机上,搭建了3台 ...
- ARL(资产侦察灯塔系统)-源码搭建
freebuf能力中心开源了一套资产扫描系统(https://github.com/TophantTechnology/ARL),提供docker版,但并无源码搭建的文档(无完整文档).于是在星光哥及 ...
- ubuntu下的apt-get内网本地源的搭建
APT本地源的搭建(可用于局域网apt-get源搭建或者本地源) 本文档介绍使用apt-mirror软件搭建apt本地源 需求:内网开发环境由于其特定原因不能上外网,所以需要本地环境下的内网源来方便开 ...
- 源码搭建LNMP
源码安装LNMP 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 前言:非常简单的一个平台LNMP,在生产实际环 ...
- 利用shell脚本去备份幸运28源码搭建下载所指定的数据库
#! /bin/bash幸运28源码搭建下载Q[115288oo99]logintool=/home/yx/server/mysql/mysql/bin/mysqldumptool=/home/yx/ ...
随机推荐
- return,break,continue三者区别
详解:http://www.cnblogs.com/yangdabao/p/6172210.html return:直接结束这个方法,后面所有代码不再执行,不管循坏外,还是循环内,全部停止,直接返回 ...
- CRMEB提示:系统错误 lnterface SessionUpdateTimestampHandlerlnterface not found
安装CRMEB系统时,公众号网页提示:系统错误 lnterface SessionUpdateTimestampHandlerlnterface not found 怎么办? 解决方法:PHP更换为7 ...
- Day 18 常用模块(二)
一.随机数:RANDOM 1.(0,1)小数:random.random() 2.[1,10]整数:random.randint(1,10) 3.[1,10)整数:random.randrang(1, ...
- python安装media报错
Try https://pypi.python.org/pypi/setuptools easy_install LEE 我后来,依次在Python2.7中装了 numpy-1.7.0-win32-s ...
- failed: dlopen failed: cannot locate symbol
修改proj.android/jni/Application.mk 添加:APP_PLATFORM := android-19
- html5/h5课件如何制作?
随着flash逐渐被html5取代,很多教育机构都在面临着如何将自己的flash交互课件产品转换到html5版本的问题,最近遇到非常多的客户一上来就问我,flash课件能直接转成Html5课件么?答案 ...
- HTTPS SSL & TLS
HTTPS (HTTP Secure) is an adaptation of the Hypertext Transfer Protocol (HTTP) for secure communicat ...
- select、poll、epoll之间的区别总结[转载]
转载:https://www.cnblogs.com/Anker/p/3265058.html select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述 ...
- 【转】Python 之 元类
原文链接: https://stackoverflow.com/questions/100003/what-is-a-metaclass-in-python http://python.jo ...
- Egret飞行模拟-开发记录03-LoadingUI界面
一.非EUI方式 1.LoadingUI里的代码.class LoadingUI extends egret.Sprite implements RES.PromiseTaskReporter { p ...