Ошибка Paperclip: NotIdentifiedByImageMagickError

У меня была установка рельсов, и теперь программа Paperclip работает нормально, а в недавнем развертывании она сломалась. Я считаю, что это совпало с обновлением gemfile, потому что ничего больше на машине не изменилось. Ошибка:

Command :: file -b --mime :file
[paperclip] Error while determining content type: Command 'file -b --mime :file' returned 1. Expected 0

Это файл png, который я проверил как действительный. Когда я запускаю файл -b -mime на изображении, я получаю:

image/png; charset=binary

Я также получаю это позже:

Command :: identify -format %wx%h :file
[paperclip] An error was received while processing: #<Paperclip::Errors::NotIdentifiedByImageMagickError: /tmp/song_waveform_3010520121008-23335-165xag4.png20121008-23335-j8e18p is not recognized by the 'identify' command.>

Я сделал файл, и он дал мне /usr/bin, поэтому я попытался установить параметр Paperclip.options [: command_path] = "/usr/bin/" в production.rb без изменений.

Я не могу придумать, почему это может произойти. Возможно, это не указывает на правильный каталог? Я немного потерялся здесь.

Ответ 1

Скорее всего, это связано с изменением API в Cocaine 4, который Paperclip еще не догнал. Попробуйте использовать более раннюю версию Cocaine, вставив эту строку в свой Gemfile:

gem "cocaine", "= 0.3.2" 

Ответ 2

добавить драгоценный камень "кокаин", "= 0.3.2"

тогда свяжите сообщение установки

Bundler could not find compatible versions for gem "cocaine":   In Gemfile:
    paperclip (~> 3.0) x86-mingw32 depends on
      cocaine (~> 0.4.0) x86-mingw32

    cocaine (0.3.2)

Ответ 3

он отлично работал для PDF и изображений, пробовал в течение часа или около того, следил за всем, что я искал позже, проблема была найдена в моей модели has_attached_file: attachment,

: styles = > {: original = > "125x125 #" }

должен был прокомментировать эту строку, и он работал для других вложений, таких как docx или odt и т.д.

Ответ 4

После всех изменений, не забудьте перезагрузить сервер...!

Ответ 5

Для тех, у кого есть аналогичная проблема, не забудьте дважды проверить, установлен ли ImageMagick, или убедитесь, что вы не используете опцию "styles".

Ответ 6

У меня возникла эта проблема при использовании OSX + MAMP + Passenger + Paperclip и после установки параметра command_path и обеспечения правильной установки imagemagick с помощью brew, правильной установки темпа и загрузки каталогов для пассажира на что-то перезаписываемое, оно все равно не будет работа!

Решением было отредактировать файл envvars для MAMP в /Applications/MAMP/Library/bin/envvars и закомментировать строку экспорта DYLD_LIBRARY_PATH.

То есть, измените строку, в которой говорится

export DYLD_LIBRARY_PATH

к

# export DYLD_LIBRARY_PATH

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

Ответ 7

Я столкнулся с этим после обновления до Mavericks. Я решил решить проблему, отменив jpeg и перевязывая его.

brew unlink jpeg
brew link jpeg

И все сработало нормально. BTW, бег Paperclip 4.1