我有一种情况my-software
需要my-common
通过:
Requires: my-common >= 1.2.0
期间yum update my-software
,my-common
未升级,仍保持版本0.0.1
。
为什么 yum 没有更新my-common
—— 并且的安装my-software
无错误地完成,即使的依赖关系my-common
尚未解决?
看:
# yum deplist my-software
package: my-software.noarch 1.1.0-1637255366
dependency: /bin/sh
provider: bash.x86_64 4.2.46-34.el7
dependency: my-common >= 1.2.0
provider: my-common.x86_64 1.2.0-1637243847.el7_9
provider: my-common.noarch 0.0.1-20180703160841.el7
请注意,yum 认为可以my-common
通过以下任一方式解决:
my-common.x86_64 1.2.0-1637243847.el7_9
my-common.noarch 0.0.1-20180703160841.el7
后者已安装。yum update my-common
正确运行更新版本1.2.0
,然后my-software
正常工作。
注意到后一个包中的时间戳格式不正确,并且看起来比第一个“新”。但第一个有我需要的版本,所以我本来以为后者会完全被排除在有效包列表之外。
答案1
也许是因为Provides
的 spec 文件不合适my-common
。
我遇到了类似的问题,最后我发现,Provides
规范配置错误。
例如,
# without version
Provides: my-common
删除此行后,更新版本可以正常更新yum install
。