使用Chocolatey升级RabbitMQ 3.10至3.11.x的Erlang错误排查
RabbitMQ Chocolatey升级中的Erlang版本冲突问题
问题背景
- 通过Chocolatey升级RabbitMQ版本,该软件包依赖Erlang,会自动安装所需对应版本
- 从3.9.19升级至3.10的过程正常,但升级到3.11.7时出现以下错误:
beam\beam_load.c(169): Error loading module elixir: This BEAM file was compiled for a later version of the run-time system than 24. To fix this, please recompile this module with an 24 compiler. (Use of opcode 178; this emulator supports only up to 176.) ERROR! Failed to start Elixir. error: {error, {elixir, {bad_return, {{elixir,start,[normal,[]]}, {'EXIT', {undef, [{elixir,start,[normal,[]],[]}, {application_master,start_it_old,4, [{file,"application_master.erl"}, {line,293}]}]}}}}}}
- 不清楚该错误的原因及实际影响,运行RabbitMQ时看似正常且使用了正确版本的Erlang,但错误提示显示系统仍在尝试使用安装3.9.19时配套的Erlang 24
- 已确认环境变量
ERLANG_HOME设置正确,请问RabbitMQ是如何选择Erlang版本的?
更新内容
重新执行流程:安装RabbitMQ 3.9.19 → 升级至3.10.1 → 强制卸载Erlang 24.0 → 升级到3.11.8,原错误消失但出现新错误:
ERLANG_HOME not set correctly.
Please either set ERLANG_HOME to point to your Erlang installation or
place the RabbitMQ server distribution in the Erlang lib folder.
已确认ERLANG_HOME已指向正确的Erlang OTP版本而非erl-24.0,为何仍抛出该错误?
内容的提问来源于stack exchange,提问作者sr28
相关产品推荐
相关产品推荐

