无法在 Raspbian (Buster) 上安装 RabbitMQ,因为 Erlang 不是正确的版本,即使它说它是最新的

Ste*_*man 5 erlang debian rabbitmq raspbian

我对 Raspberry Pi 和 Linux/Debian 还很陌生,所以请耐心等待。我已经尝试了几个小时在我的 Raspberry Pi 3 上安装 rabbitMQ,但无济于事。我遵循了这些步骤,但最终我每次尝试编写时都会得到这个sudo apt-get install rabbitmq-server

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 rabbitmq-server : Depends: erlang-base (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            erlang-base-hipe (>= 1:21.3) but it is not installable or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-crypto (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-eldap (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-inets (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-mnesia (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-os-mon (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-parsetools (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-public-key (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-runtime-tools (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-ssl (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-syntax-tools (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-tools (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
                   Depends: erlang-xmerl (>= 1:21.3) but 1:21.2.6+dfsg-1 is to be installed or
                            esl-erlang (>= 1:21.3) but it is not installable
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

看到这个后,我意识到我的Erlang不是正确的版本,需要是1:21.3,而不是1:21.2,所以我去更新它,但它然后说:

pi@raspberrypi:~ $ sudo apt-get install erlang
Reading package lists... Done
Building dependency tree       
Reading state information... Done
erlang is already the newest version (1:21.2.6+dfsg-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)

我查看了 Erlang 网站,它只是说写入apt-get install erlang以使其工作,但出于某种原因,它只想停留在 1:21.2.6 版本,而不是似乎是最新版本的 22.2。有人有建议吗?

Tic*_*aco 5

在 Franva 发表评论后,我改进了我的答案。

进入页面:https : //www.rabbitmq.com/install-debian.html#manual-installation 在页面中搜索“使用Dpkg手动安装”,即可找到下载链接。目前(2020 年 6 月 4 日)文件为“rabbitmq-server_3.8.4-1_all.deb”下载该文件并将其移动到树莓派中。

转到页面:https : //www.erlang-solutions.com/resources/download.html 并下载 raspbian buster 的最新版本。

然后在 Raspbian 类型中

sudo apt-get remove erlang*
Run Code Online (Sandbox Code Playgroud)

然后使用从erlang网站下载的erlang包安装

sudo dpkg -i name_of_the_erlang_package.deb
Run Code Online (Sandbox Code Playgroud)

使用以下命令安装您从 RabbitMQ 网站下载的 RabbitMQ 包

sudo dpkg -i rabbitmq-server_3.8.4-1_all.deb
Run Code Online (Sandbox Code Playgroud)

安装完成后,输入以下命令:

sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server
sudo rabbitmq-plugins enable rabbitmq_management
Run Code Online (Sandbox Code Playgroud)

由于默认用户(来宾)只能从 localhost 访问 Web 管理控制台,因此您可以从 raspberry 和 Chromium 类型登录

http://localhost:15672
Run Code Online (Sandbox Code Playgroud)

并使用
用户登录:guest
pass:guest 然后您可以创建自己的用户并使用它远程登录

或使用以下命令创建您自己的用户

sudo rabbitmqctl add_user your_username your_password
sudo rabbitmqctl set_user_tags your_username administrator
sudo rabbitmqctl set_permissions -p / your_username ".*" ".*" ".*"
Run Code Online (Sandbox Code Playgroud)

并使用http://ip_of_the_raspberry:15672从浏览器连接到管理控制台