libjpeg с драгоценным камнем image_optim в Heroku Cedar Stack (сборка Ruby)
Я пытаюсь заставить гем image_optim работать с приложением Rails 4 в стеке Heroku Cedar для оптимизации изображений png/gif/jpeg.
Я кинул нужные бинарные файлы (advpng
, gifsicle
, jpegoptim
, jpegtran
, optipng
, pngcrush
, pngout
) в /bin
и установить ENV['PATH'] = "#{Rails.root}/bin:#{ENV['PATH']}"
в инициализаторе. Это работает для GIF и PNG, но я сталкиваюсь с проблемами с JPEG.
В консоли рельсов я получаю:
irb(main):001:0> `jpegoptim`
jpegoptim: error while loading shared libraries: libjpeg.so.8: cannot open shared object file: No such file or directory
Как я должен идти об установке libjpeg
на Героку?
3 ответа
Правильный способ развертывания двоичных файлов в Heroku - использовать пакеты сборки: https://devcenter.heroku.com/articles/buildpacks
Используйте этот, если вы хотите упаковать несколько бинарных файлов: https://github.com/ddollar/heroku-buildpack-multi
Существует несколько пакетов сборки, уже созданных для различных двоичных файлов, но ни один из тех, которые вы перечислили.
Я создал гем, который позволяет вам запускать image_optim на heroku:
Вы, вероятно, ищете это: Heroku Image-Optim Buildpack