【问题标题】:Cannot Load RMagic in Rails, but can in IRB无法在 Rails 中加载 RMagic,但可以在 IRB 中加载
【发布时间】:2011-09-26 23:40:09
【问题描述】:

我无法让 RMagick 正常工作。当我在 IRB 中运行 require 时:

irb(main):001:0> require 'RMagick'
=> true

但是当我尝试将它包含在我的 Rails 应用程序中时,我得到:

no such file to load -- RMagick

我通过 Gem 安装了 RMagick。

gem list

*** LOCAL GEMS ***

bundler (1.0.18)
daemon_controller (0.2.6)
fastthread (1.0.7)
minitest (1.6.0)
passenger (3.0.8)
rack (1.3.2)
rake (0.8.7)
rdoc (2.5.8)
rmagick (2.13.1)

Ruby 版本:

ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]

Passenger for Rails 正在加载:

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.8/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.8

乘客模块和控制台之间 ruby​​ 版本的差异会是个问题吗?

非常感谢! ~詹姆斯

【问题讨论】:

    标签: ruby-on-rails ruby imagemagick rmagick


    【解决方案1】:

    当然- ruby​​ 版本必须相同。我会敦促您转而使用 RVM:http://beginrescueend.com/,因为从长远来看它会很轻松。

    【讨论】:

    • 拥有不同版本的 ruby​​ 的整个想法对于当前项目来说有点多,所以我重新安装了所有东西并严格使用 1.9.1。但是,它仍然没有启动 =( 现在它在服务器启动时而不是在控制器上给出 LoadError...
    【解决方案2】:

    我过去设置了 RMagick,基于对旧代码的快速浏览,我必须这样做:

    require 'RMagick'
    include Magick # not sure why, but we always have to do this w/ RMagick.
    

    我还记得这样做适用于一个特定的系统:

    require 'rmagick' # lowercase version of require 'RMagick'
    

    【讨论】:

    • 是的,我有 Magick 之后。我重新安装了所有东西,但它仍然无法正常工作。然而,现在服务器甚至拒绝启动,而在控制器失败之前。
    • 这里只是个人意见...放弃 RMagick 并改用 ImageScience:github.com/seattlerb/image_science
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多