我想启动作为JFrog Xray安装的RabbitMQ,我会得到:
-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天战斗的结果了!
脚本检查显示:
-bash-4.2$ escript -s /opt/jfrog/xray/app/third-party/rabbitmq/escript/rabbitmqctl
escript: Cannot load module rabbitmqctl_escript from archive安装的版本:
# 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_64RabbitMQ是Xray的一部分。版本: Xray 3.8.3它从使用sbin/ RabbitMQ -rabbitmq开始,但由于Xray使用的是rabbitmqctl,所以也应该使用它。
发布于 2021-05-12 20:06:46
卸载RabbitMQ和Erlang/OTP,然后重新安装。确保所有erlang版本都已卸载,然后只重新安装一个版本,然后它就是兼容的RabbitMQ版本。这对我很有效。
编辑1在我的例子中,我没有意识到我的系统安装了不止一个erlang,我安装了一个新的erlang和rabbit。甚至在新版本都不能工作的时候,我花了将近两天的时间寻找答案。但后来我读到了一些信息,他们说一个系统中应该只安装一个版本的erlang。所以我检查了一下,发现已经安装了3个erlang版本。然后,我删除了所有内容,并重新安装了erlang和rabbit。这对我很有效。
https://stackoverflow.com/questions/64133705
复制相似问题