Ruby on rails 3.2 Carrierwave文件上载和大小调整被中断

Ruby on rails 3.2 Carrierwave文件上载和大小调整被中断,ruby-on-rails-3.2,carrierwave,minimagick,Ruby On Rails 3.2,Carrierwave,Minimagick,我已经运行了这个过程来克服ruby 1.9和ImageMagick的已知问题 Localhost运行良好,部署是一个挂起的地方。根据配置时达到的最远结果 上载程序保持默认设置 def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end 有两个版本要创建 version :base do process :resize_to_limit => [200,

我已经运行了这个过程来克服ruby 1.9和ImageMagick的已知问题

Localhost运行良好,部署是一个挂起的地方。根据配置时达到的最远结果

上载程序保持默认设置

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
有两个版本要创建

  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文件夹。加载图像时,它会创建一个包含原始图像的文件夹,第二个图像的前缀为我正在创建的版本(基本)

基本上它就停在那里。我应该创建第三个版本,但没有尝试这样做。此外,第二个版本没有被重新调整大小:该文件以其新名称处于原始状态。因此,有东西正在中断重新调整大小的过程并返回错误:

没有这样的文件或目录-identifie-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和这个subexec例程的mini_magick之间。但似乎tmp文件的位置正在被删除


我使用的是ruby-1.9.3-p125,carrierwave 0.9.0 MiniMagick 3.5.0。

问题不在于这两点,而在于问题的答案,本地主机和生产机器之间有什么区别。
答:乘客v3,以及它在Apache启动时的行为方式。(乘客4显然没有问题)

最好通过以下方式编辑开发结束和/或生产环境文件来解决此问题:

  ENV['PATH'] = "/usr/local/bin:#{ENV['PATH']}"