0
votes

I've run the process to overcome the known issue of ruby 1.9 and ImageMagick.

Localhost runs well, Deployment is where there is a hang-up. Furthest reaching results achieved when configured according to http://astonj.com/tech/how-to-get-capistrano-to-ignore-upload-directories-carrierwave/

the uploader maintains default settings

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

with 2 versions to create

  version :base do
    process :resize_to_limit => [200, 200]
  end

  version :tiny do
    process :resize_to_limit => [50, 50]
  end

ImageMagick and MiniMagick are most certainly loaded and running, for when I load an image, a tmp folder is created via a symlink in Rails.root/shared/uploads. On image load it creates a folder with the original, a second image with the prefix of a version I am creating (base).

And basically it stops there. I'm supposed to be creating a third version, but there is no attempt to do so. Also, the second version is NOT being re-sized: the file is in its original state with its new name. So something is interrupting the re-sizing process and returning an error:

No such file or directory - identify -quiet -ping /tmp/mini_magick20140105-74944-bhyai4.png

The stack trace is as follows:

subexec (0.2.3) lib/subexec.rb:71:in `spawn'
subexec (0.2.3) lib/subexec.rb:71:in `spawn'
subexec (0.2.3) lib/subexec.rb:55:in `run!'
subexec (0.2.3) lib/subexec.rb:41:in `run'
mini_magick (3.5.0) lib/mini_magick.rb:410:in `run'
mini_magick (3.5.0) lib/mini_magick.rb:404:in `run_command'
mini_magick (3.5.0) lib/mini_magick.rb:201:in `valid?'
mini_magick (3.5.0) lib/mini_magick.rb:166:in `create'
mini_magick (3.5.0) lib/mini_magick.rb:76:in `read'
mini_magick (3.5.0) lib/mini_magick.rb:137:in `block in open'
mini_magick (3.5.0) lib/mini_magick.rb:136:in `open'
mini_magick (3.5.0) lib/mini_magick.rb:136:in `open'
carrierwave (0.9.0) lib/carrierwave/processing/mini_magick.rb:260:in `manipulate!'

I'm not certain where the issue really lies, between Carrierwave, mini_magick of this subexec routine. But it seems that somewhere the location of tmp files is being dropped.

I am using ruby-1.9.3-p125, carrierwave 0.9.0 MiniMagick 3.5.0.

1

1 Answers

0
votes

The issue lies in neither of the points, but in the answer to the question, what is the difference between localhost and production machine.
Answer: Passenger v3, and the way it behaves on start-up with Apache. (Passenger 4 apparently does not have the issue)

It is best solved via this proposed solution and editing end of development and/or production environment files with:

  ENV['PATH'] = "/usr/local/bin:#{ENV['PATH']}"