2014-01-05 10 views
0

Я запустил процесс, чтобы преодолеть известную проблему ruby ​​1.9 и ImageMagick.Загрузка и изменение размера носителя Carrierwave

Локальный хост хорошо работает, развертывание - это место, где есть зависание. Масштабные результаты, достигнутые при настройке в соответствии с http://astonj.com/tech/how-to-get-capistrano-to-ignore-upload-directories-carrierwave/

пользователя, добавившего видео поддерживает установки по умолчанию

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

с 2-й версиями для создания

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

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

ImageMagick и MiniMagick наиболее безусловно загружены и работает, когда я загрузите изображение, папка tmp создается через символическую ссылку в Rails.root/shared/uploads. При загрузке изображения создается папка с оригиналом, второе изображение с префиксом версии, которую я создаю (база).

И в основном он останавливается там. Предполагается, что я создаю третью версию, но мы не пытаемся это сделать. Кроме того, вторая версия НЕ изменена: файл находится в исходном состоянии с новым именем. Так что-то прерывает процесс повторного определения размера и возвращается ошибка:

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

Стек трассировки следующим образом:

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!' 

Я не уверен, где проблема на самом деле лежит между Carrierwave, mini_magick этой подсудовой процедуры. Но, похоже, где-то удаляется местоположение файлов tmp.

Я использую ruby-1.9.3-p125, carrierwave 0.9.0 MiniMagick 3.5.0.

ответ

0

Проблема не в том, что касается точек, но в ответе на вопрос, в чем разница между локальным хостом и производственной машиной.
Ответ: Пассажир v3 и то, как он ведет себя при запуске с Apache. (Passenger 4 по-видимому, не вопрос)

Это лучше всего решается с помощью this proposed solution и редактирования конца разработки и/или производства файлы среды с:

ENV['PATH'] = "/usr/local/bin:#{ENV['PATH']}" 
Смежные вопросы