Rhel
YUM 安裝失敗;無法辨識 JDK
我正在嘗試使用 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.0
2000 或更大的 epoch。它應該沒有有效負載 - 甚至沒有符號連結,這就是 @Arthur 的建議失敗的地方。您還可以使用 安裝您的包
--nodeps
,這是一種快速而簡單的解決方案,但如果您有其他依賴於目前包的包或嘗試更新它,這可能會導致依賴問題。最後,正如我們的討論最終發現的那樣,您可以更改規範文件中的 Requires: 行,因為您是建構此包並將其放入您的 repo 的人。