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

oiopk7p5  于 2022-12-08  发布在  Erlang
关注(0)|答案(2)|浏览(589)

我想启动安装为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_64

RabbitMQ是X射线的一部分。版本:RabbitMQ 3.8.3通过使用sbin/rabbitmq-server启动,但由于X射线使用rabbitmqctl,因此也应该使用它。

368yc8dk

368yc8dk1#

卸载RabbitMQ和Erlang/OTP,然后重新安装。确保所有的Erlang版本都卸载,然后只重新安装一个,然后是兼容的RabbitMQ版本。这对我很有效。
在我的例子中,我没有意识到,我的系统有一个以上的Erlang安装,我安装了一个新的Erlang和兔子的mq.当即使是新版本不工作,我花了近2天的时间寻找答案.但后来我只是读了一些信息,他们说,只有一个版本的Erlang应该安装在一个系统中.所以我检查,发现有3个Erlang版本安装.然后我删除了所有的东西,重新安装了Erlang,然后是Rabbit MQ。这对我很有效。

67up9zun

67up9zun2#

通过删除RabbitMQ目录的软链接解决了此问题,该目录用于PATH和其他环境变量中。

相关问题