Ruby on rails - Скрепка: ошибка с файлами png в рабочем режиме - PullRequest
0 голосов
/ 23 февраля 2010

Почему у меня возникает эта ошибка, когда я пытаюсь загрузить файлы png в производственном режиме?Он отлично работает с файлами jpg и gif ...

[paperclip] Ошибка при обработке: #Paperclip :: NotIdentifiedByImageMagickError: /tmp/s3,8354,0.png не распознается идентификатором'команда.>

Ответы [ 2 ]

0 голосов
/ 11 мая 2010

Вы можете решить эту проблему с версией ImageMagick с скомпилированным PNG (и всем остальным).

В моей настройке я нахожусь на MacOSX с бинарной загрузкой ImageMagick в /usr/local/ImageMagick-6.6.1/bin и Я использую Rails под Apache / Passenger. У меня установлен плагин Paperclip.

Для этого нужно выполнить 3 шага:

1: убедитесь, что ImageMagick работает на уровне командной строки UNIX. Это включает добавление его к вашему пути и экспорт этих переменных среды (конечно, указывая на вашу установку ImageMagick)

MAGICK_HOME=/usr/local/ImageMagick-6.6.1
DYLD_LIBRARY_PATH=/usr/local/ImageMagick-6.6.1/lib

Убедитесь, что идентификатор работает с вашими изображениями на уровне командной строки.

2: Сообщите Paperclip, где найти исполняемые файлы ImageMagick В config / environment.rb добавьте это внизу файла

Paperclip.options[:command_path] = "/usr/local/ImageMagick-6.6.1/bin"

В этот момент, после перезапуска Пассажира, вы увидите, что «идентификация» запускается из Paperclip, но не может идентифицировать файл ... последний шаг ...

3: Определите потребности этих двух экспортируемых переменных среды - и Apache / Passenger (или, возможно, другие веб-серверы) не пропускает их по умолчанию! В файле vhost пассажира добавьте эти строки:

  SetEnv MAGICK_HOME /usr/local/ImageMagick-6.6.1
  SetEnv DYLD_LIBRARY_PATH /usr/local/ImageMagick-6.6.1/lib

Перезапустите Apache / пассажир, и он должен работать

Удачи!

0 голосов
/ 23 февраля 2010

Это относится к serverfault imo.

Ваш ImageMagick не скомпилирован с поддержкой PNG. Смотрите эту статью . Я уверен, что в Google есть еще бесчисленное множество.

...