我正在使用回形针来处理上传到 Rails 的图像。它在我的开发 OSX 机器上运行良好,但现在在我的网络服务器上我收到此错误:
[paperclip] /Users/marky/bin/identify '-format' '%wx%h' '/tmp/stream,16451,2.JPG[0]' 2>/dev/null
[paperclip] An error was received while processing: #<Paperclip::CommandNotFoundError: Paperclip::CommandNotFoundError>
[paperclip] /Users/marky/bin/identify '-format' '%wx%h' '/tmp/stream,16451,2.JPG[0]' 2>/dev/null
[paperclip] An error was received while processing: #<Paperclip::CommandNotFoundError: Paperclip::CommandNotFoundError>
现在我很清楚原因了;识别实际上在/usr/bin/不是/Users/marky/bin/中,它来自我的开发机器。我有:
Paperclip.options[:command_path] = "/usr/bin"
在我的
development.rb
,但我仍然收到错误消息。我不知道如何解决这个问题,有人可以帮忙吗?
最佳答案
如果您使用Passenger 托管您的应用程序,请记住Passenger 与您的登录用户没有相同的$PATH 变量。检查Passenger 是否可以看到ImageMagick 命令的一个好方法是将其添加到您的一个erb 模板中:
<%= `which convert` %>
<%= `echo $PATH` %>
并将结果与在终端中运行相同的命令进行比较。另一种可能性是 ImageMagick 找不到它需要的库。在这种情况下,您可能需要导出另一个变量以让 ImageMagick 知道库的位置:
# my config/environments/development.rb
Paperclip.options[:command_path] = "DYLD_LIBRARY_PATH='/Users/jch/Library/ImageMagick-6.6.3/lib' /Users/jch/Library/ImageMagick-6.6.3/bin"
希望有帮助-杰瑞
关于ruby-on-rails - 在 Rails 中上传回形针图像 - Paperclip::CommandNotFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3222273/