11

我已经安装了一个带有 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 文件,它给了我 /usr/bin 所以我尝试在 production.rb 中设置 Paperclip.options[:command_path] = "/usr/bin/" 而没有改变。

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

4

7 回答 7

21

这很可能是由回形针尚未赶上的可卡因 4 中的 API 更改引起的。通过将此行插入到 Gemfile 中,尝试使用早期版本的可卡因:

gem "cocaine", "= 0.3.2" 
于 2012-10-09T05:15:36.193 回答
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)
于 2012-11-06T11:29:00.590 回答
2

它曾经适用于 pdf 和图像,试用了一个小时左右,后来我用谷歌搜索的所有内容都在我的模型 has_attached_file 中发现了问题:附件,

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

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

于 2013-06-05T06:41:11.927 回答
0

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

于 2013-06-08T04:00:09.447 回答
0

对于那些有类似问题的人,请务必仔细检查 ImageMagick 是否已安装,或者确保您不使用“样式”选项。

于 2013-09-14T21:41:39.003 回答
0

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

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

也就是说,改变说

export DYLD_LIBRARY_PATH

# export DYLD_LIBRARY_PATH

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

于 2013-10-11T17:33:23.747 回答
0

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

brew unlink jpeg
brew link jpeg

一切正常。顺便说一句,运行回形针 4.1

于 2014-07-12T15:01:05.287 回答