使用mini_magick调整图像大小,但/ tmp目录中没有文件

时间:2012-04-07 13:28:22

标签: ruby-on-rails carrierwave minimagick

我在Rails应用程序中使用了carrier_wave和mini_magick gems以及ImageMagick。所有版本都是最新的。

它在开发模式下工作正常。但是,我刚刚部署了应用程序,但它在生产模式下无效。

当我请求mini_magick调整图像大小时会出现问题:

rake aborted!
No such file or directory - gm identify -ping /tmp/mini_magick20120407-19273-jjzz44.jpg
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/subexec-0.2.1/lib/subexec.rb:71:in `spawn'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/subexec-0.2.1/lib/subexec.rb:71:in `spawn'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/subexec-0.2.1/lib/subexec.rb:55:in `run!'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/subexec-0.2.1/lib/subexec.rb:41:in `run'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:405:in `run'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:399:in `run_command'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:198:in `valid?'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:163:in `create'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:73:in `read'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:134:in `block in open'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:133:in `open'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:133:in `open'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/carrierwave-0.6.0/lib/carrierwave/processing/mini_magick.rb:245:in `manipulate!'
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/carrierwave-0.6.0/lib/carrierwave/processing/mini_magick.rb:145:in `resize_to_fit'

当我将CarrierWave请求注释掉'resize_to_fit'图像时,一切正常。

我已经读过mini_magick在竞争条件方面存在问题的地方 其中/ tmp目录中的文件被删除的位置 mini_magick之前的垃圾收集器可以处理它们,但那些 案件似乎涉及大图像和/或云存储。

我的图像文件只有6K,一切都是本地的,所以我觉得很难 相信垃圾收集器正在突然进入和删除 / tmp文件可以调整大小。 (但话说回来,我没有 关于这些事情的时机的想法,所以我可能是错的。)

任何人都可以帮我吗?

谢谢, 拉里

1 个答案:

答案 0 :(得分:3)

缺少ImageMagick

检查(在Fedora Core / CentOS / RHEL 5上):rpm -qa | grep ImageMagick

安装(在Fedora Core / CentOS / RHEL 5上):yum install ImageMagick