12

我的 development.log 中出现以下错误

[回形针] 处理时收到错误:#<Paperclip::NotIdentifiedByImageMagickError: /tmp/stream28514-0 无法被“识别”命令识别。>

我用谷歌搜索了这个错误,我发现很多人已经通过添加这一行来解决这个问题 Paperclip.options[:command_path] = "/usr/local/bin"

但是,即使添加了该行,我仍然会遇到相同的错误!我已经尝试了所有可能的方法!

任何帮助将不胜感激!

问候,

普尼特

4

6 回答 6

11

Paperclip.options[:command_path] 设置用于 ImageMagick 可执行文件的位置(在本例中为标识)。尝试运行which identify并将选项设置为返回的目录。如果该命令没有返回任何内容,请确保正确安装了 ImageMagick。

于 2009-10-07T22:43:47.853 回答
5

这对我有用...

我卸载了从官方网页安装的 imagemagick。我从 sudo apt-get install imagemagick 重新安装了它

然后我确实写了 Paperclip.options[:command_path] = "to/correct/path"

这里的问题是......

当我运行“which identify”时,路径似乎是“usr/local/bin/identify”,这意味着我们应该将路径“usr/local/bin”作为我的路径。

但它没有工作!

我惊奇地发现我确定也在“usr/bin”路径中。所以我改变了:“usr/local/bin”到“usr/bin”

仅此而已!

于 2010-11-16T20:21:03.800 回答
3

这意味着它无法identify在您指定的位置Paperclip.options[:command_path](在您的情况下/usr/local/bin)找到 ImageMagick 的可执行文件。

这通常是由两个原因引起的:

  1. 可能是您实际上没有安装 ImageMagick。
    • 解决方案:安装它:
      • 对于 MAC:(sudo port install ImageMagick安装二进制版本)
      • 对于 Ubuntu:sudo sudo apt-get install imagemagick
  2. 可能是您安装 ImageMagick 的位置不是/usr/local/bin其他位置。

    • 解决方案:找到它的安装位置,或通过以下命令:

      which identify(如果该标识在当前 PATH 中,则应如此)

    或通过文件系统进行原始查找:

    find / -name identify

无论如何,这些文件在 Ubuntu 中的通常位置应该是/usr/bin

于 2010-10-14T07:21:21.630 回答
2

有两个可能的问题:

  1. Image Magick 未安装或损坏
  2. 回形针无法找到 Image Magick

让我们一次拿一个:

1. 检查您是否安装了 Image Magick 并且它正在工作

类型:

identify 

在命令行,它应该可以工作。如果找不到或无法正常工作,请安装 Image Magick。这解决了吗?如果没有,请继续:

2.帮助回形针找到Image Magick

类型:

which identify

在命令行获取识别命令的路径。现在,在 production.rb 中,将以下行添加到配置块中:

Paperclip.options[:command_path] = "/usr/bin"

重新启动您的服务器。那应该解决它。

于 2012-10-09T16:17:09.220 回答
0

usr/bin 为我工作(Fedora 14 核心)

于 2011-02-08T15:59:03.943 回答
0

尝试在命令行中运行 identify 命令,看看是否会给您一些错误消息。我发现我的服务器缺少一些委托库。

identify example.jpg
于 2011-11-02T07:45:10.587 回答