我正试图让image_optim gem与Heroku的Cedar堆栈上的Rails 4应用程序一起优化png/gif/jpeg图像。
我将所需的二进制文件(advpng
, gifsicle
, jpegoptim
, jpegtran
, optipng
, pngcrush
, pngout
)放入/bin
,并在初始化器中设置ENV['PATH'] = "#{Rails.root}/bin:#{ENV['PATH']}"
。这适用于gif和png,但我遇到的问题与jpeg。
在rails控制台中我得到:
irb(main):001:0> `jpegoptim`
jpegoptim: error while loading shared libraries: libjpeg.so.8: cannot open shared object file: No such file or directory
我应该如何在Heroku上安装libjpeg
?
将二进制文件部署到Heroku的正确方法是使用构建包:https://devcenter.heroku.com/articles/buildpacks
如果你想打包多个二进制文件,使用这个:https://github.com/ddollar/heroku-buildpack-multi
已经为各种二进制文件创建了许多构建包,但是没有为您列出的那些构建包。
我已经创建了一个gem,允许您在heroku上运行image_optim:
https://github.com/mooktakim/image_optim_bin您可能正在寻找这个:Heroku Image-Optim Buildpack
或者这个:https://github.com/bobbus/image-optim-buildpack