因业务需求需要本地搭建一个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. 名字top500字典 各种格式及python脚本

    原文件名字top500 链接: https://pan.baidu.com/s/1cv0jPYb1-EBceoZz3QNvgg 密码: bat5 中文名字 链接: https://pan.baidu. ...

  2. Yii2.0 RESTful API 基础配置教程

    创建api应用  通过拷贝原有的应用,重命名得到新的应用 安装完 Composer,运行下面的命令来安装 Composer Asset 插件: php composer.phar global req ...

  3. C# 如何保证对象线程内唯一:数据槽(CallContext)【转载】

    如果说,一个对象保证全局唯一,大家肯定会想到一个经典的设计模式:单例模式,如果要使用的对象必须是线程内唯一的呢? 数据槽:CallContext,ok看下msdn对callcontent的解释. Ca ...

  4. idea调试代码跟踪到tomcat代码里面

    在POM.xml文件里面加上如下代码即可: <dependency> <groupId>org.apache.tomcat</groupId> <artifa ...

  5. 第三章 C#程序结构 (3.3 循环结构)

    (1) while循环 当表达式为真,则执行下面的语句:语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句:然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环. [ ...

  6. Spring Boot - AOP(面向切面)

    AOP 全称 Aspect Oriented Programming(面向切面),AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分 ...

  7. centos 7下rabbitmq安装(转)

    安装erlang环境 添加rabbitmq依赖的erlang yum命令repos # In /etc/yum.repos.d/rabbitmq-erlang.repo [rabbitmq-erlan ...

  8. Laravel笔记--Eloquent 模型

    Eloquent 模型 默认继承use Illuminate\Database\Eloquent\Model类. 数据表名称与模型名称约定: 数据库的表名一般使用“蛇形命名法”命名.蛇形命名法要求单词 ...

  9. Hibernate若干知识点

    1.主从表 主表A与从表B关联: 若存在1:N关系,查询条件为B表字段写法为: list.add(criteriaBuilder.like(root.joinList("projectCon ...

  10. [Notepad++]Notepad++怎么实现双视图/双窗口?

    作为windows下非常优秀的开源代码编辑器,Notepad++是工程师必备代码编辑器.相比较之下,老一辈文本编辑器如ultraedit,editplus,就显得繁琐.冗余.疲惫.我使用过Notepa ...