因业务需求需要本地搭建一个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本地源码搭建填坑记录的更多相关文章

  1. Unix 网络编程卷一源码编译踩坑记录 ubtutu 19.10

    在阅读unpv1时运行源代码的环境配置,这里简单记录一下 源代码里的README 写得挺详细的,但是在Linux 系统的下还没没办法直接编译通过的, 这里我使用的是ubuntu 19.10(在腾讯云1 ...

  2. kibana 5.5 源码编译踩坑记录

    由于项目需要定制开发kibana,因此需要编译kibana,在开发环境下运行.   注意:必须下载kibana 5.5的源码才能正常编译,下载release或者snapshot版本是不行的,运行npm ...

  3. webapp填坑记录[更新中]

    网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...

  4. webapp填坑记录

    网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...

  5. Kafka踩坑填坑记录

    Kafka踩坑填坑记录 一.kafka通过Java客户端,消费者无法接收消息,生产者发送失败消息 二. 一.kafka通过Java客户端,消费者无法接收消息,生产者发送失败消息 在虚拟机上,搭建了3台 ...

  6. ARL(资产侦察灯塔系统)-源码搭建

    freebuf能力中心开源了一套资产扫描系统(https://github.com/TophantTechnology/ARL),提供docker版,但并无源码搭建的文档(无完整文档).于是在星光哥及 ...

  7. ubuntu下的apt-get内网本地源的搭建

    APT本地源的搭建(可用于局域网apt-get源搭建或者本地源) 本文档介绍使用apt-mirror软件搭建apt本地源 需求:内网开发环境由于其特定原因不能上外网,所以需要本地环境下的内网源来方便开 ...

  8. 源码搭建LNMP

      源码安装LNMP 作者:尹正杰   版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:非常简单的一个平台LNMP,在生产实际环 ...

  9. 利用shell脚本去备份幸运28源码搭建下载所指定的数据库

    #! /bin/bash幸运28源码搭建下载Q[115288oo99]logintool=/home/yx/server/mysql/mysql/bin/mysqldumptool=/home/yx/ ...

随机推荐

  1. return,break,continue三者区别

    详解:http://www.cnblogs.com/yangdabao/p/6172210.html return:直接结束这个方法,后面所有代码不再执行,不管循坏外,还是循环内,全部停止,直接返回 ...

  2. CRMEB提示:系统错误 lnterface SessionUpdateTimestampHandlerlnterface not found

    安装CRMEB系统时,公众号网页提示:系统错误 lnterface SessionUpdateTimestampHandlerlnterface not found 怎么办? 解决方法:PHP更换为7 ...

  3. Day 18 常用模块(二)

    一.随机数:RANDOM 1.(0,1)小数:random.random() 2.[1,10]整数:random.randint(1,10) 3.[1,10)整数:random.randrang(1, ...

  4. python安装media报错

    Try https://pypi.python.org/pypi/setuptools easy_install LEE 我后来,依次在Python2.7中装了 numpy-1.7.0-win32-s ...

  5. failed: dlopen failed: cannot locate symbol

    修改proj.android/jni/Application.mk 添加:APP_PLATFORM := android-19

  6. html5/h5课件如何制作?

    随着flash逐渐被html5取代,很多教育机构都在面临着如何将自己的flash交互课件产品转换到html5版本的问题,最近遇到非常多的客户一上来就问我,flash课件能直接转成Html5课件么?答案 ...

  7. HTTPS SSL & TLS

    HTTPS (HTTP Secure) is an adaptation of the Hypertext Transfer Protocol (HTTP) for secure communicat ...

  8. select、poll、epoll之间的区别总结[转载]

    转载:https://www.cnblogs.com/Anker/p/3265058.html select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述 ...

  9. 【转】Python 之 元类

    原文链接: https://stackoverflow.com/questions/100003/what-is-a-metaclass-in-python      http://python.jo ...

  10. Egret飞行模拟-开发记录03-LoadingUI界面

    一.非EUI方式 1.LoadingUI里的代码.class LoadingUI extends egret.Sprite implements RES.PromiseTaskReporter { p ...