通過aptitude降級包解決依賴問題(E:無法修正錯誤,因為您要求某些軟件包保持現狀)


Linux下的依賴關系令人頭疼,尤其是提示如下錯誤的時候:

下列軟件包有未滿足的依賴關系:
xxx : 依賴: xxx 但是它將不會被安裝
E: 無法修正錯誤,因為您要求某些軟件包保持現狀,就是它們破壞了軟件包間的依賴關系。

查了一下,有很多是因為要安裝的包需要依賴較低級的包,所以可以通過 sudo aptitude install 來嘗試通過降級解決問題。

比如我要安裝libgtk2.0-dev,但是這貨的依賴都是較低版本的包,導致這個包沒法安裝,解決方法如下:

sudo apt-get install aptitude
# 安裝 aptitude 包管理器

sudo aptitude install libgtk2.0-dev
# 提示未滿足依賴關系,給出了類似1) libcairo2-dev [未安裝的] 等提示,問是否接受該解決方案?[Y/n/q/?]

n
# 不接受該解決方案,然后會提示降級下列軟件包,問是否接受該解決方案?[Y/n/q/?] 

y
# 接受降級,此時會發現新安裝包列表里果然有libgtk2.0-dev,然后會提示您要繼續嗎?[Y/n/?]

y
# 繼續,確認安裝

# 安裝成功!其他搞不定的包也可以如此嘗試,不過降級之前需要仔細看下版本號變化,如果差太多還需要慎重考慮


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM