一、環境介紹
Ubuntu 16.04
搜狗輸入法: sogoupinyin_2.0.0.0078_amd64
二、問題表現
sudo dpkg -i sogoupinyin_2.0.0.0078_amd64.deb
錯誤信息如下:
sogoupinyin : Depends: libopencc2 but it is not installable or libopencc1 but it is not going to be installed Depends: fcitx-libs (>= 4.2.7) but it is not going to be installed Depends: fcitx-libs-qt (>= 4.2.7) but it is not going to be installed Recommends: fonts-droid-fallback but it is not going to be installed or fonts-droid but it is not installable E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
一看就知道是依賴包存在問題
三、問題分析
之前在Ubuntu 15.10的版本之時,使用同樣的sogou版本,不存在此類的問題。 但是在Ubuntu 16.04中,卻存在此類問題,說明Ubuntu升級之后,sogou輸入法并未做相應的系統兼容性測試, 故起最高的Ubuntu支持版本時15.10.
雖然我們知道了問題,但是該如何解決呢?
基于錯誤信息,我們發現起依賴包有以下幾個: libopencc1 libopencc2, fcitx-libs, fcitx-libs-qt font-droid-fallback.
四、試錯分析
試錯1:
bladestone@bladestone-laptop:~$ sudo apt install fcitx-libs Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: sogoupinyin : Depends: libopencc2 but it is not installable or libopencc1 but it is not going to be installed Depends: fcitx-libs-qt (>= 4.2.7) but it is not going to be installed Recommends: fonts-droid-fallback but it is not going to be installed or fonts-droid but it is not installable E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
試錯2:
bladestone@bladestone-laptop:~$ sudo apt install fcitx-libs-qt Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: sogoupinyin : Depends: libopencc2 but it is not installable or libopencc1 but it is not going to be installed Depends: fcitx-libs (>= 4.2.7) but it is not going to be installed Recommends: fonts-droid-fallback but it is not going to be installed or fonts-droid but it is not installable E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
試錯3:
bladestone@bladestone-laptop:~$ sudo apt install fcitx-libs-qt fcitx-libs Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: sogoupinyin : Depends: libopencc2 but it is not installable or libopencc1 but it is not going to be installed Recommends: fonts-droid-fallback but it is not going to be installed or fonts-droid but it is not installable E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
試錯4:
bladestone@bladestone-laptop:~$ sudo apt install fonts-droid-fallback Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: sogoupinyin : Depends: libopencc2 but it is not installable or libopencc1 but it is not going to be installed Depends: fcitx-libs (>= 4.2.7) but it is not going to be installed Depends: fcitx-libs-qt (>= 4.2.7) but it is not going to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
試錯5:
bladestone@bladestone-laptop:~$ sudo apt install libopencc1 Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: sogoupinyin : Depends: fcitx-libs (>= 4.2.7) but it is not going to be installed Depends: fcitx-libs-qt (>= 4.2.7) but it is not going to be installed Recommends: fonts-droid-fallback but it is not going to be installed or fonts-droid but it is not installable E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
分析: 經過各種嘗試,發現依然無法正常解決問題,類庫包之間的依賴關系還是非常復雜的。
五、問題解決
5.1 移除sogou輸入法, 由于其安裝不完整
sudo apt remove sogoupinyin
執行過程:
Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: sogoupinyin 0 upgraded, 0 newly installed, 1 to remove and 43 not upgraded. 1 not fully installed or removed. After this operation, 42.6 MB disk space will be freed. Do you want to continue? [Y/n] y (Reading database ... 214444 files and directories currently installed.) Removing sogoupinyin (2.0.0.0078) ... Processing triggers for libglib2.0-0:amd64 (2.48.1-1~ubuntu16.04.1) ... Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ... Processing triggers for shared-mime-info (1.5-2ubuntu0.1) ... Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160523-0ubuntu1) ... Rebuilding /usr/share/applications/bamf-2.index... Processing triggers for gnome-menus (3.13.3-6ubuntu3) ... Processing triggers for desktop-file-utils (0.22-1ubuntu5) ... Processing triggers for mime-support (3.59ubuntu1) ...
5.2 正確的包安裝姿勢
sudo apt install libopencc1 fcitx-libs fcitx-libs-qt fonts-droid-fallback
5.3 重新安裝sogou輸入法
sudo dpkg -i sogoupinyin_2.0.0.0078_amd64.deb
結果 一切順利,沒有報類似的錯誤信息
總結
安裝依賴需要一次安裝完成,切勿單個安裝,主要是由于包之間彼此會有一定的依賴關系,這個是你無法準確定位的,故在 一次安裝動作中做完。
另外需要注意的是: sogou輸入法的Linux版本目前只兼容到Ubunut 15.10, 請大家彼此周知該情況。
新聞熱點
疑難解答
圖片精選