首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法启动RabbitMQ:未定义的函数rabbitmqctl_escript:main/1

无法启动RabbitMQ:未定义的函数rabbitmqctl_escript:main/1
EN

Stack Overflow用户
提问于 2020-09-30 16:26:10
回答 1查看 1.4K关注 0票数 2

我想启动作为JFrog Xray安装的RabbitMQ,我会得到:

代码语言:javascript
复制
-bash-4.2$ /opt/jfrog/xray/app/third-party/rabbitmq/escript/rabbitmqctl
escript: exception error: undefined function rabbitmqctl_escript:main/1
  in function  escript:run/2 (escript.erl, line 758)
  in call from escript:start/1 (escript.erl, line 277)
  in call from init:start_em/1
  in call from init:do_boot/3

我知道这不是启动服务的标准方式,这已经是3天战斗的结果了!

脚本检查显示:

代码语言:javascript
复制
-bash-4.2$ escript -s /opt/jfrog/xray/app/third-party/rabbitmq/escript/rabbitmqctl
escript: Cannot load module rabbitmqctl_escript from archive

安装的版本:

代码语言:javascript
复制
# rpm -qa | grep 'erlang\|xray\|socat'
socat-1.7.3.2-2.el7.x86_64
erlang-22.3.4-1.el7.x86_64
xray-3.8.6-1.el6.x86_64

RabbitMQ是Xray的一部分。版本: Xray 3.8.3它从使用sbin/ RabbitMQ -rabbitmq开始,但由于Xray使用的是rabbitmqctl,所以也应该使用它。

EN

回答 1

Stack Overflow用户

发布于 2021-05-12 20:06:46

卸载RabbitMQ和Erlang/OTP,然后重新安装。确保所有erlang版本都已卸载,然后只重新安装一个版本,然后它就是兼容的RabbitMQ版本。这对我很有效。

编辑1在我的例子中,我没有意识到我的系统安装了不止一个erlang,我安装了一个新的erlang和rabbit。甚至在新版本都不能工作的时候,我花了将近两天的时间寻找答案。但后来我读到了一些信息,他们说一个系统中应该只安装一个版本的erlang。所以我检查了一下,发现已经安装了3个erlang版本。然后,我删除了所有内容,并重新安装了erlang和rabbit。这对我很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64133705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档