因业务需求需要本地搭建一个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文件

补充:其实最后这个东西我真的没有搭起来,依赖之类的东西坑太多了,要么就拉不到,要么就编译不上,来来回回折腾了三天(工昨时间),资料也几乎接近于没有,根据手册那几句来根本就干不了。。。劝各位同胞这个坑以后能远点就远点吧
posted on 2018-12-21 16:06  lsz0210  阅读(750)  评论(0编辑  收藏  举报