RabbitMQ 启动时崩溃

Nat*_*ong 0 rabbitmq

RabbitMQ 最近开始崩溃。我怀疑我不小心更新了一些东西。在 MacOS 10.15.7 上,brew list rabbitmq/usr/local/homebrew/Cellar/rabbitmq/3.8.14.

当我尝试运行rabbitmq-server或任何rabbitmqctl命令(例如 )时rabbitmqctl version,它崩溃并显示:

{"init terminating in do_boot",{load_failed,[supervisor,logger_backend,logger_simple_h,logger_config,gen_event,logger_server,kernel,file_io_server,file_server,filename,file,erl_parse,erl_lint,application_controller,error_logger,lists,application,application_master,code,error_handler,logger,logger_filters,heart,gen_server,gen,ets,proc_lib,erl_eval,code_server]}}
Run Code Online (Sandbox Code Playgroud)

卸载并重新安装没有帮助。

该错误与此处描述的错误类似,其中建议这样做:

某些模块无法加载。您运行的 Erlang 版本很可能比 RabbitMQ 支持的最旧版本更旧

但根据文档,RabbitMQ3.8.14需要 Erlang22.323.x进行erl --version打印Erlang/OTP 23

参阅erl_crash.dump.

关于出了什么问题的任何线索吗?

Joã*_*tta 6

我在 Mac M1 上遇到了同样的问题。我通过 asdf 安装了 erlang。

Rabbitmq 工作时没有任何问题,但在一次次更新之后,发生了一些事情,我们开始遇到同样的错误。

对我有用的是:

卸载rabbitmq和brew的erlang

brew uninstall rabbitmq
brew uninstall erlang
Run Code Online (Sandbox Code Playgroud)

重新安装它们:

brew install rabbitmq
Run Code Online (Sandbox Code Playgroud)

最后,最重要的是绕过 erlang 命令到系统版本(brew):

asdf global erlang system
Run Code Online (Sandbox Code Playgroud)

完成此操作后,重新启动rabbitmq使一切恢复正常:

brew services restart rabbitmq
Run Code Online (Sandbox Code Playgroud)