2012-04-07 72 views
1

我在Rails應用程序中使用carrier_wave和mini_magick gem以及ImageMagick。所有版本都儘可能最新。使用mini_magick調整圖像大小,但在/ tmp目錄中沒有文件

它在開發模式下工作正常。但是,我剛剛部署了該應用程序,並且它在生產模式下無法使用。

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調整圖像大小時。

我讀過其中mini_magick了一些問題,其中在/ tmp目錄下的文件正在由 垃圾收集器刪除之前mini_magick可以處理他們的競爭條件 ,但那些 案件似乎處理大型圖片和/或雲存儲。

我的圖像文件僅6K,一切都是本地的,所以我覺得很難 認爲,垃圾收集器俯衝和刪除 /tmp文件就可以調整之前。 (但是,然後再次,我沒有 這些東西的時間的想法,所以我可能是錯的。)

任何人都可以幫助我嗎?

感謝, 拉里

+0

生產中是否存在'tmp'目錄? – MikDiet 2012-04-07 13:31:25

+0

您是否找到解決方案?安裝minimagick並不能解決我的問題。 – rohitmishra 2012-12-11 13:14:14

回答

3

缺少ImageMagick的

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

安裝(在Fedora Core/CentOS的/ RHEL 5):yum install ImageMagick

+0

嗨movingahead:我確實解決了這個問題。這只是我的愚蠢。發生了什麼是我最初使用ImageMagick但後來切換到GraphicsMagick。我有本地安裝的GraphicsMagick,一切正常。在服務器上安裝了ImageMagick,因此沒有任何工作。一旦我在服務器上安裝了GraphicsMagick,事情又開始了。哎呀! – Larry 2012-12-12 19:54:35