# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
页面地址:
https://www.rabbitmq.com/install-rpm.html#downloads
# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.9/rabbitmq-server-3.7.9-1.el7.noarch.rpm
# yum -y install rabbitmq-server-3.7.9-1.el7.noarch.rpm
已加载插件:fastestmirror
正在检查 rabbitmq-server-3.7.9-1.el7.noarch.rpm: rabbitmq-server-3.7.9-1.el7.noarch
rabbitmq-server-3.7.9-1.el7.noarch.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 rabbitmq-server.noarch.0.3.7.9-1.el7 将被 安装
--> 正在处理依赖关系 erlang >= 19.3,它被软件包 rabbitmq-server-3.7.9-1.el7.noarch 需要
base | 3.6 kB 00:00:00
epel | 3.2 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/5): epel/x86_64/group_gz | 88 kB 00:00:00
(2/5): epel/x86_64/updateinfo | 934 kB 00:00:00
(3/5): extras/7/x86_64/primary_db | 205 kB 00:00:00
(4/5): epel/x86_64/primary | 3.6 MB 00:00:00
(5/5): updates/7/x86_64/primary_db | 6.0 MB 00:00:00
Determining fastest mirrors
epel 12720/12720
--> 正在处理依赖关系 socat,它被软件包 rabbitmq-server-3.7.9-1.el7.noarch 需要
--> 正在检查事务
---> 软件包 rabbitmq-server.noarch.0.3.7.9-1.el7 将被 安装
--> 正在处理依赖关系 erlang >= 19.3,它被软件包 rabbitmq-server-3.7.9-1.el7.noarch 需要
---> 软件包 socat.x86_64.0.1.7.3.2-2.el7 将被 安装
--> 解决依赖关系完成
错误:软件包:rabbitmq-server-3.7.9-1.el7.noarch (/rabbitmq-server-3.7.9-1.el7.noarch)
需要:erlang >= 19.3
可用: erlang-R16B-03.18.el7.x86_64 (epel)
erlang = R16B-03.18.el7
您可以尝试添加 --skip-broken 选项来解决该问题
** 发现 1 个已存在的 RPM 数据库问题, 'yum check' 输出如下:
python-requests-2.6.0-1.el7_1.noarch 有缺少的需求 python-urllib3 >= ('0', '1.10.2', '1')
处理问题
安装日志中,显示有二个问题:一个是需要 erlang >=19.3
,另一个是缺少 python-urllib3
。
一、关于python-urllib3
的解决方法
默认情况下,pip 命令是 python2.7版本的。
list 查询后,发现有一个 urllib3 (1.23)
# pip -V
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
# pip list | grep url
pycurl (7.19.0)
urlgrabber (3.10)
urllib3 (1.23)
可能是由于 urllib3 (1.23)
版本不兼容吧?于是,卸载掉:
pip uninstall urllib3
然后,通过yum 手工方式来安装 python-urllib3
。方法如下:
网上搜索了一下
python-urllib3
,找到了一个页面:
python-urllib3 rpm build for : CentOS 7.
找到一个 download 链接地址,然后下载到本地:
wget ftp://bo.mirror.garr.it/1/slc/centos/7.1.1503/updates/x86_64/Packages/python-urllib3-1.10.2-1.el7_1.noarch.rpm
yum 手工安装:
yum -y install python-urllib3-1.10.2-1.el7_1.noarch.rpm
再次运行
yum -y install rabbitmq-server-3.7.9-1.el7.noarch.rpm
安装命令,发现python-urllib3
问题已不存在,只剩余一个erlang
问题。
二、关于erlang >=19.3
的解决方案
vi /etc/yum.repos.d/rabbitmq-erlang.repo
内容如下:
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
# yum clean all
# yum makecache
# yum list |grep erlang
emacs-erlang.noarch R16B-03.18.el7 epel
emacs-erlang-el.noarch R16B-03.18.el7 epel
erlang.x86_64 21.1.4-1.el7.centos rabbitmq-erlang
erlang-appmon.x86_64 R16B-03.18.el7 epel
erlang-asn1.x86_64 R16B-03.18.el7 epel
erlang-common_test.x86_64 R16B-03.18.el7 epel
erlang-compiler.x86_64 R16B-03.18.el7 epel
里面有一个 erlang.x86_64
,版本为:21.1.4-1.el7.centos
,而且所属于 rabbitmq-erlang
。确定这个包,就是我们需要的了。接下来就安装一下。
# yum install erlang.x86_64
安装成功之后,测试一下:
# erl
Erlang/OTP 21 [erts-10.1.3] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]
Eshell V10.1.3 (abort with ^G)
1>
可见,erlang 已被成功安装。
三、再次安装 rabbitmq-server-3.7.9-1.el7.noarch.rpm
上述两个问题处理之后,再次安装 rabbitmq
。很顺利,很完美,过程如下:
# yum -y install rabbitmq-server-3.7.9-1.el7.noarch.rpm
已加载插件:fastestmirror
正在检查 rabbitmq-server-3.7.9-1.el7.noarch.rpm: rabbitmq-server-3.7.9-1.el7.noarch
rabbitmq-server-3.7.9-1.el7.noarch.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 rabbitmq-server.noarch.0.3.7.9-1.el7 将被 安装
--> 正在处理依赖关系 socat,它被软件包 rabbitmq-server-3.7.9-1.el7.noarch 需要
Loading mirror speeds from cached hostfile
--> 正在检查事务
---> 软件包 socat.x86_64.0.1.7.3.2-2.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
============================================================================================================================================================
Package 架构 版本 源 大小
============================================================================================================================================================
正在安装:
rabbitmq-server noarch 3.7.9-1.el7 /rabbitmq-server-3.7.9-1.el7.noarch 10 M
为依赖而安装:
socat x86_64 1.7.3.2-2.el7 base 290 k
事务概要
============================================================================================================================================================
安装 1 软件包 (+1 依赖软件包)
总计:11 M
总下载量:290 k
安装大小:12 M
Downloading packages:
socat-1.7.3.2-2.el7.x86_64.rpm | 290 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : socat-1.7.3.2-2.el7.x86_64 1/2
正在安装 : rabbitmq-server-3.7.9-1.el7.noarch 2/2
验证中 : rabbitmq-server-3.7.9-1.el7.noarch 1/2
验证中 : socat-1.7.3.2-2.el7.x86_64 2/2
已安装:
rabbitmq-server.noarch 0:3.7.9-1.el7
作为依赖被安装:
socat.x86_64 0:1.7.3.2-2.el7
完毕!
在寻求真理的长河中,唯有学习,不断地学习,勤奋地学习,有创造性地学习,才能越重山跨峻岭。 —— 华罗庚