rails在生产服务器中包含CarrierWave :: RMagick错误

问题描述:

我想使用带载波的rmagick gem来上传图像并调整其大小。rails在生产服务器中包含CarrierWave :: RMagick错误

在我的本地导轨..它运作良好。 但是当部署到服务器..不..作品

我不知道为什么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)>' 

,但奇怪的是在服务器导轨c的制备

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

这很好,没有错误! thumb_ ~~ .JPG,生成调整后的图像..

和在服务器导轨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 

line 5 error!

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

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

请帮助我.. 为什么在服务器无法正常工作?

+0

什么是您的生产服务器设置? RMagick是否也安装在那里? – tyler

+0

nginx +独角兽。是的,rmagick安装得很好。在rails c生产中,rmagick方法运行良好。 – myggul

+0

Rmagick是否位于您的Gemfile的生产组中? – silasjmatson

如何运行服务器?

如果您的Gemfile有rmagick那么你需要使用捆绑高管

有时依赖不加载运行服务器。 bundle exec将确保始终加载依赖项。

+0

我使用capistrano部署到服务器。因此,无论何时配置cap,都需要'bundle exec'T^T – myggul

+0

您的应用程序服务器如何运行?你在为这个应用程序使用什么? – arunagw