Кажется, я могу запустить 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 опережает любой другой каталог, который может указывать на более старые версии.