【问题标题】:rails include CarrierWave::RMagick error in production serverrails 包括生产服务器中的 CarrierWave::RMagick 错误
【发布时间】:2013-10-18 19:53:55
【问题描述】:

我想使用带有载波的 rmagick gem 来上传和调整图像大小。

在我的本地 Rails.. 它运行良好。 但是当部署到服务器时..不起作用..

我不知道为什么T^T

这里是 unicorn_error_log..

.../shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require': No such file to load -- RMagick (LoadError)
from .../shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `block in require'
from .../shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
from .../shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
from .../shared/bundle/ruby/2.0.0/gems/carrierwave-0.9.0/lib/carrierwave/processing/rmagick.rb:67:in `rescue in block in <module:RMagick>'
from ...p/shared/bundle/ruby/2.0.0/gems/carrierwave-0.9.0/lib/carrierwave/processing/rmagick.rb:64:in `block in <module:RMagick>'
from .../shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/concern.rb:114:in `class_eval'
from .../shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/concern.rb:114:in `append_features'
from .../releases/20131018192701/app/uploaders/image_uploader.rb:5:in `include'
from .../releases/20131018192701/app/uploaders/image_uploader.rb:5:in `<class:ImageUploader>'
from .../releases/20131018192701/app/uploaders/image_uploader.rb:3:in `<top (required)>'

但奇怪的是在服务器rails c生产中

a = Word.find(2)
a.image.recreate_versions!(:image, :thumb)

这很好用,没有错误!!! thumb_~~.jpg , 已生成调整大小的图像..

在服务器rails c生产输入

require 'RMagick'
=> false

这意味着 RMagick 已经在加载,对吧?

啊!这是我的 image_uploader.rb

3: class ImageUploader < CarrierWave::Uploader::Base

5:    include CarrierWave::RMagick

52:   version :thumb do
53:      process :resize_to_limit => [400, 400]
54:   end

第 5 行错误!

供参考,我已经在下面完成了..

apt-get install libmagickwand-dev imagemagick
in Gemfile |  gem 'rmagick', :require => 'RMagick'

请帮帮我.. 为什么不在服务器上工作??

【问题讨论】:

  • 您的生产服务器设置是什么?那里也安装了 RMagick 吗?
  • nginx + 独角兽。是的,rmagick 安装得很好。在 rails c 生产中,rmagick 方法效果很好。
  • Rmagick 是否在 Gemfile 中的生产组中?

标签: ruby-on-rails ruby carrierwave rmagick


【解决方案1】:

你是如何运行服务器的?

如果您的 Gemfile 有 rmagick,那么您需要使用 bundle exec 运行服务器

有时未加载依赖项。 bundle exec 将确保始终加载依赖项。

【讨论】:

  • 我使用 capistrano 部署到服务器。所以每当 cap deploy T^T 时,'bundle exec'
  • 您的应用服务器运行情况如何?这个应用你用什么?
猜你喜欢
  • 2014-07-03
  • 2013-09-04
  • 1970-01-01
  • 2013-03-13
  • 2012-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多