1. 程式人生 > >安裝wkhtmltopdf報錯: wkhtmltox : 依賴: libpng12-0 但無法安裝它

安裝wkhtmltopdf報錯: wkhtmltox : 依賴: libpng12-0 但無法安裝它

1. 問題描述

在Odoo11(Ubuntu)上要打印發票時,系統提示“找不到wkhtmltopdf”,所以打算安裝wkhtmltopdf。結果安裝失敗。

$ sudo apt install ./wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
正在讀取軟體包列表... 完成
正在分析軟體包的依賴關係樹       
正在讀取狀態資訊... 完成       
您也許需要執行“apt --fix-broken install”來修正上面的錯誤。
下列軟體包有未滿足的依賴關係:
 wkhtmltox : 依賴: libpng12-0 但無法安裝它
             依賴: xfonts-75dpi 但是它還沒有被安裝
E: 有未能滿足的依賴關係。請嘗試不指明軟體包的名字來執行“apt --fix-broken install”(也可以指定一個解決辦法)。

於是安裝libpng12-0:

$ sudo apt install ./libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
[sudo] odoo 的密碼:
正在讀取軟體包列表... 完成
正在分析軟體包的依賴關係樹       
正在讀取狀態資訊... 完成       
您也許需要執行“apt --fix-broken install”來修正上面的錯誤。
下列軟體包有未滿足的依賴關係:
 wkhtmltox : 依賴: libpng12-0 但是它還沒有被安裝
             依賴: xfonts-75dpi 但是它還沒有被安裝
E: 有未能滿足的依賴關係。請嘗試不指明軟體包的名字來執行“apt --fix-broken install”(也可以指定一個解決辦法)。

2. 解決方法

* 其實報錯資訊中已說明了解決方法

E: 有未能滿足的依賴關係。請嘗試不指明軟體包的名字來執行“apt --fix-broken install”(也可以指定一個解決辦法)。

按照提示資訊執行命令:

$ sudo apt --fix-broken install
正在讀取軟體包列表... 完成
正在分析軟體包的依賴關係樹       
正在讀取狀態資訊... 完成       
正在修復依賴關係... 完成
下列軟體包是自動安裝的並且現在不需要了:
  linux-headers-4.15.0-38 linux-headers-4.15.0-38-generic
  linux-image-4.15.0-38-generic linux-modules-4.15.0-38-generic
  linux-modules-extra-4.15.0-38-generic
使用'sudo apt autoremove'來解除安裝它(它們)。
將會同時安裝下列軟體:
  xfonts-75dpi
下列軟體包將被【解除安裝】:
  wkhtmltox
下列【新】軟體包將被安裝:
  xfonts-75dpi
升級了 0 個軟體包,新安裝了 1 個軟體包,要解除安裝 1 個軟體包,有 0 個軟體包未被升級。
有 1 個軟體包沒有被完全安裝或解除安裝。
需要下載 3,368 kB 的歸檔。
解壓縮後將會空出 122 MB 的空間。
您希望繼續執行嗎? [Y/n] y
獲取:1 https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic/universe amd64 xfonts-75dpi all 1:1.0.4+nmu1 [3,368 kB]
已下載 3,368 kB,耗時 1秒 (3,287 kB/s)    
(正在讀取資料庫 ... 系統當前共安裝有 208922 個檔案和目錄。)
正在解除安裝 wkhtmltox (1:0.12.5-1.xenial) ...
dpkg: 警告: 解除安裝 wkhtmltox 時,目錄 /usr/local/lib 非空,因而不會刪除該目錄
dpkg: 警告: 解除安裝 wkhtmltox 時,目錄 /usr/local/bin 非空,因而不會刪除該目錄
dpkg: 警告: 解除安裝 wkhtmltox 時,目錄 /usr/local/share 非空,因而不會刪除該目錄
正在選中未選擇的軟體包 xfonts-75dpi。
(正在讀取資料庫 ... 系統當前共安裝有 208902 個檔案和目錄。)
正準備解包 .../xfonts-75dpi_1%3a1.0.4+nmu1_all.deb  ...
正在解包 xfonts-75dpi (1:1.0.4+nmu1) ...
正在設定 xfonts-75dpi (1:1.0.4+nmu1) ...
正在處理用於 man-db (2.8.3-2ubuntu0.1) 的觸發器 ...
正在處理用於 fontconfig (2.12.6-0ubuntu2) 的觸發器 ...

之後在安裝wkhtmltopdf的依賴。

$ sudo apt-get install x11proto-render-dev x11proto-core-dev
$ sudo apt-get install libXrender*
$ sudo apt-get install libfontconfig*

$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb

$ sudo apt install ./wkhtmltox-0.12.2.1_linux-trusty-amd64.deb

$ sudo apt install ./libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

$ sudo apt install ./wkhtmltox-0.12.2.1_linux-trusty-amd64.deb

$ wkhtmltopdf
You need to specify atleast one input file, and exactly one output file
Use - for stdin or stdout

Name:
  wkhtmltopdf 0.12.2.1 (with patched qt)