MiniMagick
MiniMagick::Utilities.whichでやっている
やっていることは環境変数PATHを順番に見ているだけ
ということで、より優先順位の高いPATHを追加すれば、任意のパスにあるImageMagickを参照してくれる
code:bash
# aptで入れたImageMagickは/usr/binに入っている
$ which convert
/usr/bin/convert
# MiniMagick::Utilities.whichで/usr/bin/convertが出る
2 pry(main)> MiniMagick::Utilities.which('convert') => "/usr/bin/convert"
# ImageMagickをビルドして/usr/localにインストールした後
$ echo $PATH
/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ which convert
/usr/local/bin/convert
$ convert --version
Copyright: (C) 1999 ImageMagick Studio LLC
Features: Cipher DPC OpenMP(4.5)
Delegates (built-in): bzlib djvu fontconfig freetype jbig jng jp2 jpeg lcms lqr lzma openexr png tiff webp x xml zlib
# /usr/local/bin/convertが使われる
2 pry(main)> MiniMagick::Utilities.which('convert') => "/usr/local/bin/convert"
3 pry(main)> puts MiniMagick::Tool::Convert.new {|c| c.version} Copyright: (C) 1999 ImageMagick Studio LLC
Features: Cipher DPC OpenMP(4.5)
Delegates (built-in): bzlib djvu fontconfig freetype jbig jng jp2 jpeg lcms lqr lzma openexr png tiff webp x xml zlib