看来我可以rabbitmq-server
正常运行该命令并且它启动了但rabbitmqctl
出现错误失败所以我无法停止它或做任何其他事情。
~/rabbit/rabbitmq_server-3.7.15/sbin> 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
这是 Erlang/OTP 22Erlang/OTP 22 [erts-10.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
我是否缺少了配置或者别的什么?
答案1
如果您的二进制文件不匹配,则可能会发生这种情况。例如,假设您的系统通过包管理器安装了过时的 RabbitMQ 和/或 Erlang 版本。如果您下载当前版本的 RabbitMQ(例如通用二进制版本)并尝试运行它,您$PATH
可能会在系统的其他位置指向过时的 Erlang 版本。
解决方案(特别是如果您没有 root 访问权限)是安装正确版本的 Erlang 并进行更新,$PATH
以确保sbin
RabbitMQ 下的目录和erl
较新的 Erlang 的可执行文件位于可能指向旧版本的任何其他目录之前。