我已經運行這個程序來克服ruby 1.9和ImageMagick的已知問題。Carrierwave文件上傳和調整大小被中斷
本地主機運行良好,部署是掛斷的地方。最遠時根據http://astonj.com/tech/how-to-get-capistrano-to-ignore-upload-directories-carrierwave/
上傳配置達到了所取得的成果保持默認設置
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
有2個版本,以創建
version :base do
process :resize_to_limit => [200, 200]
end
version :tiny do
process :resize_to_limit => [50, 50]
end
ImageMagick的和MiniMagick是肯定加載並運行,因爲當我加載圖像,通過Rails.root/shared/uploads中的符號鏈接創建一個tmp文件夾。在圖像加載時,它會創建一個帶有原始文件夾的文件夾,第二個圖像的前綴是我創建的版本(基本)。
基本上它停在那裏。我應該創建第三個版本,但沒有試圖這樣做。此外,第二個版本不會被重新調整大小:文件處於其原始狀態並帶有新名稱。因此,一些遮住大小調整過程,並返回一個錯誤:
No such file or directory - identify -quiet -ping /tmp/mini_magick20140105-74944-bhyai4.png
堆棧跟蹤如下:
subexec (0.2.3) lib/subexec.rb:71:in `spawn'
subexec (0.2.3) lib/subexec.rb:71:in `spawn'
subexec (0.2.3) lib/subexec.rb:55:in `run!'
subexec (0.2.3) lib/subexec.rb:41:in `run'
mini_magick (3.5.0) lib/mini_magick.rb:410:in `run'
mini_magick (3.5.0) lib/mini_magick.rb:404:in `run_command'
mini_magick (3.5.0) lib/mini_magick.rb:201:in `valid?'
mini_magick (3.5.0) lib/mini_magick.rb:166:in `create'
mini_magick (3.5.0) lib/mini_magick.rb:76:in `read'
mini_magick (3.5.0) lib/mini_magick.rb:137:in `block in open'
mini_magick (3.5.0) lib/mini_magick.rb:136:in `open'
mini_magick (3.5.0) lib/mini_magick.rb:136:in `open'
carrierwave (0.9.0) lib/carrierwave/processing/mini_magick.rb:260:in `manipulate!'
我不能肯定,其中問題確實出,Carrierwave之間,mini_magick這個子程序的例程。但似乎某處tmp文件的位置正在被丟棄。
我使用的是ruby-1.9.3-p125,carrierwave 0.9.0 MiniMagick 3.5.0。