Ubuntu下安装依赖的几个解决方案
在Ubuntu的使用中想必大家經(jīng)常遇見(jiàn)這句話(huà):“E: 無(wú)法修正錯(cuò)誤,因?yàn)槟竽承┸浖3脂F(xiàn)狀,就是它們破壞了軟件包間的依賴(lài)關(guān)系”
對(duì)于這個(gè)問(wèn)題,網(wǎng)上有很多解決方案,但是大多不靠譜.以往我一般都是手動(dòng)處理 (當(dāng)然我們也可以使用aptitude來(lái)自動(dòng)解決安裝依賴(lài)問(wèn)題,詳細(xì)見(jiàn)下文),如果是一個(gè)軟件的版本問(wèn)題,直接安裝指定版本.比如:
在顯示liblapack3 : 依賴(lài): libgfortran3 (>= 4.6) 但是它將不會(huì)被安裝 E: 無(wú)法修正錯(cuò)誤,因?yàn)槟竽承┸浖3脂F(xiàn)狀,就是它們破壞了軟件包間的依賴(lài)關(guān)系。的時(shí)候,部分情況可以直接使用sudo apt-get -f install libgfortran3>=4.6,來(lái)進(jìn)行解決.
但是如圖中所示,這次不行,為什么呢?因?yàn)橐话愣园惭b制定版本的軟件所對(duì)應(yīng)的問(wèn)題是軟件版本過(guò)高的的問(wèn)題.但是在這里并不是這樣,而是因?yàn)榘惭b這個(gè)軟件還有很多的其他依賴(lài)這里無(wú)法提供.
這個(gè)時(shí)候就要輪到下面的這種方法了.
那就是使用aptitude來(lái)代替apt,aptitude與 apt-get 一樣,是 Debian 及其衍生系統(tǒng)中功能極其強(qiáng)大的包管理工具。與 apt-get 不同的是,aptitude在處理依賴(lài)問(wèn)題上更佳一些。舉例來(lái)說(shuō),aptitude在刪除一個(gè)包時(shí),會(huì)同時(shí)刪除本身所依賴(lài)的包。這樣,系統(tǒng)中不會(huì)殘留無(wú)用的包,整個(gè)系統(tǒng)更為干凈。而在安裝軟件時(shí),它不僅僅可以提供像apt那樣的普通功能,還能夠提供在安裝依賴(lài)沖突時(shí)的解決方案。
比如我在安裝R時(shí)發(fā)現(xiàn)安裝沖突,這個(gè)時(shí)候我們就可以使用sudo aptitude install r-base-core來(lái)解決這個(gè)問(wèn)題。一開(kāi)始的時(shí)候,aptitude也會(huì)想apt那樣檢測(cè)到依賴(lài)沖突,然后給出一個(gè)解決方案。但是不同的地方在于對(duì)于解決方案你有三個(gè)選擇(y/n/q),y就是同意,n不同意,然后會(huì)繼續(xù)給出下一個(gè)解決方案。q–>退出,放棄安裝。假如一開(kāi)始它推薦給你不安裝的時(shí)候,你就可以選擇n,然后一般而言第二個(gè)解決方案將會(huì)自動(dòng)降級(jí)安裝依賴(lài)的軟件(如果是一系列軟件版本過(guò)高的話(huà)),這個(gè)時(shí)候選擇同意基本都可以安裝成功。
如圖:
不過(guò)唯一美中不足的問(wèn)題在于,這樣安裝之后的 軟件版本會(huì)比較低。不過(guò)好在確實(shí)可以用了。
參考
總結(jié)
以上是生活随笔為你收集整理的Ubuntu下安装依赖的几个解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Scrapy八小时快速入门第一小时:安装
- 下一篇: Ubuntu16.04 安装R与RStu