結論
magick
コマンドがバイナリ単体で提供されているので、OS を選んで落とせばいいです。
convert
や identify
などのコマンドは magick
コマンドひとつでまかなえるようになります*1。
注意点
バイナリ実行時に下記のように libfuse.so.2
が足りないと言われることがあります。
$ ./magick -version dlopen(): error loading libfuse.so.2
Ubuntu 22.04 の場合は libfuse2
を apt
で入れてやるといいです。他の OS の場合も同種のライブラリをインストールすればよいと思います。
$ sudo apt install -y libfuse2
具体的手順
1. wget する
$ wget https://imagemagick.org/archive/binaries/magick --2022-11-02 16:27:53-- https://imagemagick.org/archive/binaries/magick imagemagick.org (imagemagick.org) をDNSに問いあわせています... 50.251.58.13 imagemagick.org (imagemagick.org)|50.251.58.13|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 27559104 (26M) ‘magick’ に保存中 magick 100%[==================================>] 26.28M 2.09MB/s in 14s 2022-11-02 16:28:07 (1.93 MB/s) - ‘magick’ へ保存完了 [27559104/27559104]
2. 実行権限を付与する
実行権限を付与します。忘れがちなので注意です。
$ chmod +x magick
3. 動作確認をする
$ ./magick -version Version: ImageMagick 7.1.0-51 Q16-HDRI x86_64 1cf41df5d:20221013 https://imagemagick.org Copyright: (C) 1999 ImageMagick Studio LLC License: https://imagemagick.org/script/license.php Features: Cipher DPC HDRI OpenMP(4.5) Delegates (built-in): bzlib djvu fontconfig freetype jbig jng jpeg lcms lqr lzma openexr png raqm tiff webp x xml zlib Compiler: gcc (7.5)
補足
- この方法でインストールされた
ImageMagick
は各言語のラッパーライブラリやラッパーパッケージには対応していない可能性があります- その場合は直接シェルのコマンドを実行してよいと思います
- ただし、ユーザー入力を伴う場合にはセキュリティ面で細心の注意を払います
- その場合は直接シェルのコマンドを実行してよいと思います
- ダウンロードページ に記載があるように セキュリティポリシー を記述した設定ファイルを置くことが推奨されます
~/.config/ImageMagick/policy.xml
*1:$ magick convert -resize 100x100 image.jpg image.jpg などのように、これまでのコマンドの前に magick を付ける形での互換性があります