![CentOS 7 安装PostgreSQL 依赖错误](https://linux22.com/image/1442437/CentOS%207%20%E5%AE%89%E8%A3%85PostgreSQL%20%E4%BE%9D%E8%B5%96%E9%94%99%E8%AF%AF.png)
在运行时yum install postgresql-server.x86_64
,我遇到以下错误:
--> Processing Dependency: libreadline.so.5()(64bit) for package: postgresql-server-8.1.23-10.el5_10.x86_64
--> Finished Dependency Resolution
Error: Package: postgresql-8.1.23-10.el5_10.x86_64 (el5_latest)
Requires: libreadline.so.5()(64bit)
Available: readline-5.1-3.el5.x86_64 (el5_latest)
libreadline.so.5()(64bit)
Installed: readline-6.2-9.el7.x86_64 (@anaconda)
~libreadline.so.6()(64bit)
Error: Package: postgresql-8.1.23-10.el5_10.x86_64 (el5_latest)
Requires: libtermcap.so.2()(64bit)
Available: libtermcap-2.0.8-46.1.x86_64 (el5_latest)
libtermcap.so.2()(64bit)
Error: Package: postgresql-server-8.1.23-10.el5_10.x86_64 (el5_latest)
Requires: libreadline.so.5()(64bit)
Available: readline-5.1-3.el5.x86_64 (el5_latest)
libreadline.so.5()(64bit)
Installed: readline-6.2-9.el7.x86_64 (@anaconda)
~libreadline.so.6()(64bit)
Error: Package: postgresql-server-8.1.23-10.el5_10.x86_64 (el5_latest)
Requires: libtermcap.so.2()(64bit)
Available: libtermcap-2.0.8-46.1.x86_64 (el5_latest)
libtermcap.so.2()(64bit)
我的第一个猜测是我没有readline
安装,但事实证明这不是问题:
~ % yum list installed|grep readline
readline.x86_64 6.2-9.el7 @anaconda
readline-devel.x86_64 6.2-9.el7 @base
我假设仍存在缺失的依赖项。
错误消息本身有点难以理解 - 我该如何解决这个问题并恢复安装?
答案1
您尝试安装的软件包实际上依赖于旧版本的 CentOS。
请注意,在错误消息中,您引用了el5_latest
适用于 CentOS 5 或 RHEL 5 的存储库,但您安装的是 CentOS 7。主要版本不兼容。
这最老的适用于 CentOS 7 的 PostgreSQL 版本是 9.3。你可以使用以下命令安装它:
rpm -iUvh http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm
yum -y install postgresql93-server
这最新的适用于 CentOS 7 的 PostgreSQL 版本(撰写本文时)是 9.4 版。你可以使用以下命令安装它:
rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
yum install postgresql94-server