我在development.log中遇到以下错误
[paperclip]处理时收到错误:'< Paperclip :: NotIdentifiedByImageMagickError:/ tmp / stream28514-0无法通过'identify'命令识别。>
我已经搜索了这个错误,我发现许多人通过添加此行解决了这个问题 Paperclip.options [:command_path] =“/ usr / local / bin”
然而,即使添加该行,我仍然会得到相同的错误!我尽力了!
任何帮助都将受到高度赞赏!
此致
PUNIT
答案 0 :(得分:11)
Paperclip.options [:command_path]设置用于ImageMagick可执行文件的位置(在本例中为识别)。尝试运行which identify
并将该选项设置为返回的目录。如果该命令没有返回任何内容,请确保已正确安装ImageMagick。
答案 1 :(得分:5)
这对我有用......
我卸载了从官方网页安装的imagemagick。 我从sudo apt-get install imagemagick
重新安装了它然后我写了Paperclip.options [:command_path] =“to / correct / path”
这里的问题是......
当我运行“识别”时,显示路径为“usr / local / bin / identify” 这意味着我应该把路径“usr / local / bin”作为我的路径。
但它没有工作!
我惊奇地发现我识别也在“usr / bin”路径中。所以我改变了: “usr / local / bin”到“usr / bin”
这就是全部!
答案 2 :(得分:3)
这意味着它无法在identify
(在您的情况下为Paperclip.options[:command_path]
)中指定的位置找到ImageMagick的可执行文件/usr/local/bin
。
这是由两个原因引起的:
sudo port install ImageMagick
(安装二进制版本)sudo sudo apt-get install imagemagick
可能是您安装ImageMagick的位置不是/usr/local/bin
,而是其他内容。
解决方案:找到它的安装位置,或通过以下命令:
which identify
(如果标识位于当前PATH中,则应该如此)
或通过文件系统的原始查找:
find / -name identify
无论如何,Ubuntu中这些文件的通常位置应为/usr/bin
答案 3 :(得分:2)
有两个可能的问题:
让我们一次拿一个:
<强> 1。检查您是否安装了Image Magick并且它正在运行
类型:
identify
在命令行,它应该工作。如果找不到或无法正常工作,请安装Image Magick。这个解决了吗?如果没有,请继续:
<强> 2。帮助Paperclip找到Image Magick
类型:
which identify
在命令行中获取identify命令的路径。现在,在production.rb中,将以下行添加到配置块中:
Paperclip.options[:command_path] = "/usr/bin"
重新启动您的服务器。那应该解决它。
答案 4 :(得分:0)
usr / bin让我(Fedora 14核心)
答案 5 :(得分:0)
尝试在命令行中运行identify命令,看看是否会给出一些错误消息。我发现我的服务器缺少一些委托库。
identify example.jpg