纸夹错误:未被ImageMagick识别的错误。

11

我之前安装了Rails和Paperclip,一直正常工作,但最近部署时出现了问题。我认为这可能与更新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.>

我运行了 which file 命令,它告诉我/usr/bin,所以我在 production.rb 中尝试设置 Paperclip.options[:command_path] = "/usr/bin/",但没有任何改变。

我无法想象为什么会发生这种情况。也许它没有指向正确的目录?我有点困惑。

7个回答

21

很可能这是由于Cocaine 4中的API更改所致,而Paperclip尚未跟上。试着在你的Gemfile中插入以下代码来使用较早版本的Cocaine:

gem "cocaine", "= 0.3.2" 

1
你肯定为我节省了数小时的时间。谢谢。 - Nathan Wienert
看起来这个问题已经在Paperclip 3.3中得到了解决:https://github.com/thoughtbot/paperclip/issues/1038 - Peter Ehrlich
6
我的错误被简单地修复了,只需运行命令 brew upgrade ImageMagick - Peter Ehrlich
3
截至2014年1月2日,Paperclip 3.5.2需要使用 cocaine ~> 0.5.3。 - David Rhoden

4

添加gem "cocaine", "= 0.3.2"

然后运行bundle install命令

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
请尝试使用以下代码:gem "cocaine", "= 0.3.2" 和 gem "paperclip", "= 3.0.4"。 - Fabio Russo

2

之前pdf和图片都可以正常使用,尝试了一个小时左右,按照搜索到的所有步骤操作后,发现问题出在我的模型中 has_attached_file :attachment,

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

必须注释掉这一行,然后其他附件如docx或odt等就可以正常使用了。


0
我在升级到 Mavericks 后遇到了这个问题。最终,我通过取消链接 JPEG 并重新链接它来解决了这个问题。
brew unlink jpeg
brew link jpeg

一切都运行正常。顺便说一下,正在运行Paperclip 4.1。

0

我在使用OSX + MAMP + Passenger + Paperclip时遇到了这个问题,经过设置command_path并确保通过brew正确安装了imagemagick,将passenger的临时和上传目录设置为可写入的内容,它仍然无法正常工作!

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

也就是说,更改该行的内容:

export DYLD_LIBRARY_PATH

# export DYLD_LIBRARY_PATH

然后重新启动MAMP,当您的图片成功上传/调整大小时,感受到喜悦。

0
对于那些遇到类似问题的人,请务必仔细检查是否已安装ImageMagick,或确保不使用“styles”选项。

-1

在你做完所有的更改后,别忘了重新启动你的服务器...!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接