Ответ 1
Скорее всего, это связано с изменением API в Cocaine 4, который Paperclip еще не догнал. Попробуйте использовать более раннюю версию Cocaine, вставив эту строку в свой Gemfile:
gem "cocaine", "= 0.3.2"
У меня была установка рельсов, и теперь программа 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 без изменений.
Я не могу придумать, почему это может произойти. Возможно, это не указывает на правильный каталог? Я немного потерялся здесь.
Скорее всего, это связано с изменением API в Cocaine 4, который Paperclip еще не догнал. Попробуйте использовать более раннюю версию Cocaine, вставив эту строку в свой Gemfile:
gem "cocaine", "= 0.3.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)
он отлично работал для PDF и изображений, пробовал в течение часа или около того, следил за всем, что я искал позже, проблема была найдена в моей модели has_attached_file: attachment,
: styles = > {: original = > "125x125 #" }
должен был прокомментировать эту строку, и он работал для других вложений, таких как docx или odt и т.д.
После всех изменений, не забудьте перезагрузить сервер...!
Для тех, у кого есть аналогичная проблема, не забудьте дважды проверить, установлен ли ImageMagick, или убедитесь, что вы не используете опцию "styles".
У меня возникла эта проблема при использовании 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 и почувствуйте восторг, когда ваши изображения будут правильно загружать/изменять размер.
Я столкнулся с этим после обновления до Mavericks. Я решил решить проблему, отменив jpeg и перевязывая его.
brew unlink jpeg
brew link jpeg
И все сработало нормально. BTW, бег Paperclip 4.1