Paperclip错误:NotIdentifiedByImageMagickError

时间:2012-10-09 05:09:11

标签: ruby-on-rails paperclip

我已经使用Paperclip的rails安装工作了一段时间,并且在最近的部署中它已经坏了。我相信它与gemfile更新同时发生,因为机器上的其他内容都没有改变。错误是:

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

这是我已经验证有效的png文件。当我在图像上运行'file -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所以我尝试在production.rb中设置Paperclip.options [:command_path] =“/ usr / bin /”而没有任何变化。

我想不出为什么会发生这种情况。也许它没有指向正确的目录?我在这里有点迷失。

7 个答案:

答案 0 :(得分:21)

很可能这是由可卡因4的API变化造成的,Paperclip还没有赶上。尝试使用早期版本的Cocaine,将此行插入Gemfile:

gem "cocaine", "= 0.3.2" 

答案 1 :(得分:4)

添加宝石“可卡因”,“= 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)

答案 2 :(得分:2)

它过去常常适用于pdf和图像,尝试了一个小时左右,之后我用谷歌搜索的所有内容在我的模型中找到了问题has_attached_file:attachment,

  

:styles =&gt; {:原始=&GT; “125x125#”}

不得不评论这一行,它适用于其他附件,如docx或odt等。

答案 3 :(得分:0)

完成所有更改后,请不要忘记重新启动服务器......!

答案 4 :(得分:0)

对于有类似问题的人,请务必仔细检查是否安装了ImageMagick,或确保不使用'styles'选项。

答案 5 :(得分:0)

我在使用OSX + MAMP + Passenger + Paperclip时遇到此问题,并在设置command_path并确保imagemagick通过brew正确安装后,正确设置temp和上传目录以便乘客可写,这仍然不会工作!

解决方案是在/ Applications / MAMP / Library / bin / envvars中编辑MAMP的envvars文件,并注释掉导出的DYLD_LIBRARY_PATH行。

即改变

的行
export DYLD_LIBRARY_PATH

# export DYLD_LIBRARY_PATH

然后重新启动MAMP,并在图像正确上传/调整大小时感到兴奋。

答案 6 :(得分:0)

升级到小牛队后我遇到了这个问题。 我最终通过取消链接jpeg并重新链接来解决问题

brew unlink jpeg
brew link jpeg

一切都很好。 BTW,运行Paperclip 4.1