Назад | Перейти на главную страницу

Команда RabbitMQ rabbitmqctl не инициализируется

Кажется, я могу запустить 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 22 Erlang/OTP 22 [erts-10.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Мне не хватает конфига или чего-то такого?

Это может произойти, если у вас есть несовпадающие двоичные файлы. Например, предположим, что в вашей системе установлены устаревшие версии RabbitMQ и / или Erlang, установленные через диспетчер пакетов. Если вы затем загрузите текущую версию RabbitMQ, такую ​​как общий двоичный выпуск, и попытаетесь запустить ее, ваш $PATH может указывать на устаревшую версию Erlang в другом месте вашей системы.

Решение (особенно если у вас нет root-доступа) - установить правильную версию Erlang и обновить ваш $PATH чтобы гарантировать, что sbin каталог в RabbitMQ и erl исполняемый файл нового Erlang опережает любой другой каталог, который может указывать на более старые версии.