EWWW Image Optimizer で「jpegtran, optipng, gifsicle がありません」が出た場合の対処方法

1.EWWW Image Optimizer でエラー発生

60爺は、画像最適化プラグインとして、EWWW Image Optimizer を使用しています。

このプラグインを使用すれば、簡単に画像サイズを最適化してサイトの表示速度を改善することができるんです。

最近、気が付いたのですが、プラグインのページを見ていたところ、EWWW Image Optimizer に次のエラーが出ています。

見にくいので書き出してみます。

EWWW Image Optimizer は jpegtran, optipng, pngout, pngquant, gifsicle, and cwebp を使用します。 jpegtran, optipng, gifsicle がありません。 設定ページ と インストール手順 をインストールしてください。

なお、この内容と関係があるか不明ですが、search console で、モバイルの速度が「改善が必要」に変わってしまいました。数日前までは、全く問題がなかったのですが…。

2.エラーの対処方法

上述のエラーメッセージを見る限り、三つのアプリをインストールすれば問題なかろうと高をくくっていましたが、ちょっと問題がありました。

  • jpegtran
  • optipng
  • gifsicle

(1) optipng, gifsicleインストール

optipng, gifsicle は、問題なくインストールできました。

【optipng】

mizutan@raspberrypi:~ $ sudo apt-get install optipng
[sudo] mizutan のパスワード:
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
rpi-eeprom-images
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
optipng
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
78.8 kB のアーカイブを取得する必要があります。
この操作後に追加で 176 kB のディスク容量が消費されます。
取得:1 https://ftp.jaist.ac.jp/pub/Linux/raspbian-archive/raspbian buster/main armhf optipng armhf 0.7.7-1 [78.8 kB]
78.8 kB を 3秒 で取得しました (28.0 kB/s)
以前に未選択のパッケージ optipng を選択しています。
(データベースを読み込んでいます … 現在 97434 個のファイルとディレクトリがイン ストールされています。)
…/optipng_0.7.7-1_armhf.deb を展開する準備をしています …
optipng (0.7.7-1) を展開しています…
optipng (0.7.7-1) を設定しています …
man-db (2.8.5-2) のトリガを処理しています …

このあと、プラグインのページを見ると、エラーメッセージから optipng が消えています。

【gifsicle】

mizutan@raspberrypi:~ $ sudo apt-get install gifsicle
パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
rpi-eeprom-images
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
gifsicle
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
130 kB のアーカイブを取得する必要があります。
この操作後に追加で 337 kB のディスク容量が消費されます。
取得:1 https://ftp.jaist.ac.jp/pub/Linux/raspbian-archive/raspbian buster/main armhf gifsicle armhf 1.91-5 [130 kB]
130 kB を 1秒 で取得しました (202 kB/s)
以前に未選択のパッケージ gifsicle を選択しています。
(データベースを読み込んでいます … 現在 97449 個のファイルとディレクトリがイン ストールされています。)
…/gifsicle_1.91-5_armhf.deb を展開する準備をしています …
gifsicle (1.91-5) を展開しています…
gifsicle (1.91-5) を設定しています …
man-db (2.8.5-2) のトリガを処理しています …

このあと、プラグインのページを見ると、エラーメッセージから gifsicle が消えています。

(2) jpegtran インストール

ところが、jpegtran は次のメッセージが出てインストール出来ません。

E: パッケージ jpegtran が見つかりません

このパッケージは、libjpeg に内包されているので、libjpeg をインストールすれば解決するそうです。

はじめに、Windows10上で https://www.ijg.org/files/ にアクセスして、最新バージョンを確認します。

・
jpegsrc.v6a.tar.gz 527 KB Sun Mar 10 14:19 2019 Unix Tape Archive
jpegsrc.v6b.tar.gz 599 KB Sun May 28 18:39 2006 Unix Tape Archive
jpegsrc.v7.tar.gz 938 KB Sat Jun 27 10:18 2009 Unix Tape Archive
jpegsrc.v8.tar.gz 940 KB Sun Jan 10 10:38 2010 Unix Tape Archive
jpegsrc.v8a.tar.gz 940 KB Sun Feb 28 11:15 2010 Unix Tape Archive
jpegsrc.v8b.tar.gz 943 KB Sun May 16 10:14 2010 Unix Tape Archive
jpegsrc.v8c.tar.gz 964 KB Sun Jan 16 10:11 2011 Unix Tape Archive
jpegsrc.v8d.tar.gz 969 KB Sun Jan 15 10:25 2012 Unix Tape Archive
jpegsrc.v9.tar.gz 965 KB Sun Jan 13 10:15 2013 Unix Tape Archive
jpegsrc.v9a.tar.gz 977 KB Sun Jan 19 10:18 2014 Unix Tape Archive
jpegsrc.v9b.tar.gz 999 KB Sun Jan 17 10:38 2016 Unix Tape Archive
jpegsrc.v9c.tar.gz 1,005 KB Sun Jan 14 11:48 2018 Unix Tape Archive
jpegsrc.v9d.tar.gz ★ 1,046 KB Sun Jan 12 10:49 2020 Unix Tape Archive
・
・

60爺が確認した時点での最新のアーカイブも、参考資料にあるものと同じ v9d でした(上記★参照)。

それでは、このアーカイブをラズパイにインストールしましょう。この作業は、root権限で実行します。

su -
パスワードを入力

① jpegsrc.v9d.tar.gz ダウンロード

最新ファイルの jpegsrc.v9d.tar.gz をダウンロードします。60爺は、/tmp に移動して作業を開始しました。

root@raspberrypi:/tmp# wget https://www.ijg.org/files/jpegsrc.v9d.tar.gz
--2020-12-21 15:40:21-- https://www.ijg.org/files/jpegsrc.v9d.tar.gz
www.ijg.org (www.ijg.org) をDNSに問いあわせています… 2606:4700:3035::ac43:b5a9, 2606:4700:3033::6818:7bac, 2606:4700:3033::6818:7aac, …
www.ijg.org (www.ijg.org)|2606:4700:3035::ac43:b5a9|:80 に接続しています… 接続しました。
HTTP による接続要求を送信しました、応答を待っています… 200 OK
長さ: 1070160 (1.0M) [application/x-gzip]
`jpegsrc.v9d.tar.gz' に保存中
・
・

② ダウンロードファイル解凍

ダウンロードした jpegsrc.v9d.tar.gz を解凍します。

root@raspberrypi:/tmp# tar xzvf jpegsrc.v9d.tar.gz
jpeg-9d/
jpeg-9d/wrppm.c
jpeg-9d/wrrle.c
jpeg-9d/maketdsp.vc6
jpeg-9d/jdinput.c
jpeg-9d/testimg.bmp
jpeg-9d/testimg.jpg
jpeg-9d/testimg.ppm
jpeg-9d/rdjpgcom.1
jpeg-9d/rdjpgcom.c
jpeg-9d/makedvcx.v16
・
・

③ インストール

解凍したディレクトリ jpeg-pd に移動後、順に三つのコマンドを実行することでインストールが完了します。

これらのコマンドを実行すると、かなりの量のログが表示されますが、ここでは割愛します。

root@raspberrypi:/tmp# cd jpeg-9d
root@raspberrypi:/tmp/jpeg-9d# ./configure --disable-shared
root@raspberrypi:/tmp/jpeg-9d# make
root@raspberrypi:/tmp/jpeg-9d# make install

④ 場所、バージョン確認

最後に jpegtran のインストール場所とバージョンの確認を行いましょう。

root@raspberrypi:/tmp/jpeg-9d# which jpegtran
/usr/local/bin/jpegtran
root@raspberrypi:/tmp/jpeg-9d# jpegtran -v
Independent JPEG Group's JPEGTRAN, version 9d 12-Jan-2020
Copyright (C) 2020, Thomas G. Lane, Guido Vollbeding

3.エラーメッセージ消滅

この時点でプラグインのページを見てみましょう。

下記のように、EWWW Image Optimizer のエラーメッセージが消えているはずです。

ご覧の通り、見事に EWWW Image Optimizer エラーメッセージを消去できました。

これで安心です!

参考
EWWW Image Optimizer の導入で「jpegtran, optipng, gifsicle がありません。」になる