我有一个CentOS 7盒子。我已在其上安装了Java 1.8.0_77:
[root@centos7 ~]# java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
和
[root@centos7 ~]# echo $JAVA_HOME
/opt/install/jdk1.8.0_77
[root@centos7 ~]# echo $JRE_HOME
/opt/install/jdk1.8.0_77/jre
但是当我尝试安装RPM时,我仍然会收到错误:
[root@centos7 ~]# rpm -ivh xxxx.x86_64.rpm
error: Failed dependencies:
jre >= 1.8.0_71 is needed by xxxx.x86_64
为什么?
答案 0 :(得分:0)
包管理器就是 - 包裹信息管理员, 它并不真正知道你的系统上有什么,只是包装它的内容 已安装,因此它假设在您的系统上。
这种设计的明显问题是两者可能会失效 同步,比方说,如果您通过从oracle下载它手动安装JRE, 然后包管理器不知道它在那里,因此做它 指出失败的依赖链的工作。
有多种选择,假设这是问题(检查你的 rpm包列表,我忘记了rpm的参数)以丑陋的顺序:(1) 您可以安装JRE的发行版本,这将是 包经理很高兴,(2)你可以捏造包经理吧 认为说依赖" jre版本1.7.0"实际安装,用 或者不安装它,然后破坏java二进制文件以使用你的 安装版本,或者(3)你可以只安装tomcat --nodeps选项忽略依赖项。请注意(3)是一个滑坡,你最终会跳过更多的依赖和次级 随着时间的推移依赖。
之前这对我有用,希望它也能解决你的问题。