Dnf

Centos8/RHEL8 - 如何 dnf 安裝缺少依賴項的軟體包?

  • July 26, 2021

Centos8,嘗試安裝 mimedefang

dnf install mimedefang

- nothing provides perl(Digest::SHA1) needed by mimedefang-2.84-5.el8.x86_64
- nothing provides perl(IO::Stringy) >= 1.212 needed by mimedefang-2.84-5.el8.x86_64

我知道的任何回購中都不存在這兩個依賴項。它們是在 Meta::CPAN 維護的 perl 包。我使用 cpan 而不是 dnf 安裝了它們。

cpan install Digest::SHA1
cpan install IO::Stringy

然而 dnf / rpm 不知道這一點,仍然拒絕安裝 mimedefang。我嘗試使用--skip-broken--nobest--best仍然無法安裝。

看在上帝的份上,你怎麼告訴 dnf 無論如何都要安裝?讓 dnf 確認已安裝這兩個依賴項,還是只忽略這兩個依賴項?我不想告訴 dnf/rpm 忽略所有依賴項,因為還有許多其他依賴項需要安裝並且在 dnf 中可用。

刪除您通過 CPAN 安裝的文件並啟用 CentOS PowerTools 儲存庫:

  sudo dnf config-manager --set-enabled PowerTools

然後 mimedefang 將安裝沒有問題。

如果您通過 CPAN 安裝,您可能很難從 PowerTools 安裝這些軟體包,這就是為什麼您不應該通過CPAN安裝,除非您在備用目錄(如 /opt)中進行安裝。如果您需要幫助恢復損壞的 Perl 安裝,請告訴我們。

引用自:https://unix.stackexchange.com/questions/660067