Rhel

YUM 安裝失敗;無法辨識 JDK

  • June 10, 2015

我正在嘗試使用 YUM 安裝一些軟體包。我正在使用的命令是:

sudo yum repo-pkgs [my repo] install

這會產生以下結果:

Error: Package: [package name] ([my repo])
      Requires: jdk >= 2000:1.8.0
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

這個錯誤令人困惑,因為我已經安裝了 JDK /user/java/jdk1.8.0_25,根據錯誤消息,它應該是一個足夠新的版本。

我需要做些什麼才能讓 YUM 辨識 JDK?

歡迎任何建議,謝謝。

正如@Arthur 所說,問題在於系統上的內容與 RPMDB 中的內容之間的脫節。雖然 RPMDB 確實有一個它知道已安裝的 JDK,但該 JDK 可能不滿足您嘗試安裝的軟體包的軟體包依賴關係——事實上它肯定不滿足,或者您不會收到特定的錯誤消息。你從這裡去哪裡取決於你希望解決方案有多“乾淨”(相對於“快速”)。

正如@Arthur 建議的那樣,您可以創建一個虛擬包。這個包應該依賴於jdk,並且應該提供jdk 1.8.02000 或更大的 epoch。它應該沒有有效負載 - 甚至沒有符號連結,這就是 @Arthur 的建議失敗的地方。

您還可以使用 安裝您的包--nodeps,這是一種快速而簡單的解決方案,但如果您有其他依賴於目前包的包或嘗試更新它,這可能會導致依賴問題。

最後,正如我們的討論最終發現的那樣,您可以更改規範文件中的 Requires: 行,因為您是建構此包並將其放入您的 repo 的人。

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