[英]Why can I use RMagick from irb but not rails console?
ruby 1.9.2p320 rails 3.0.8 Fedora發布16(Verne)
做的:
yum install imagemagick yum install ImageMagick-devel gem安裝RMagick完全沒有問題
我可以從獨立的Ruby程序運行RMagick,但Ruby in Rails(使用相同的解釋器)找不到RMagick:
gremlin:eric cars01 $ irb irb(main):001:0> require 'RMagick' => true irb(main):002:0> Magick::Version => "RMagick 2.13.1" irb(main):003:0> $".grep(/Magick/) => ["/usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1/lib/RMagick2.so", "/usr/local/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1/lib/RMagick.rb"] irb(main):004:0> gremlin:eric cars01 $ rails console Loading development environment (Rails 3.0.8) irb(main):001:0> require 'rubygems' => nil irb(main):002:0> require 'RMagick' LoadError: no such file to load -- RMagick from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:239:in `require' from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:239:in `block in require' from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:225:in `block in load_dependency' from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:596:in `new_constants_in' from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:225:in `load_dependency' from /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:239:in `require' from (irb):2 from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.8/lib/rails/commands/console.rb:44:in `start' from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.8/lib/rails/commands/console.rb:8:in `start' from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.8/lib/rails/commands.rb:23:in `<top (required)>' from script/rails:6:in `require' from script/rails:6:in `'
如果我把RMagick放在Gemfile中,無論有沒有版本,bundle說它無法在機器上找到gem。 但它適用於其他寶石。
任何人都有任何想法為什么Ruby可以在Rails之外加載RMagick但不在其中?
與此同時,在加載它之前將路徑推到RMagick的超酷解決方法是有效的。
在Gemfile中添加此行
gem "rmagick"
然后bundle install
你的問題是你可能有2+紅寶石,檢查如下:
他們肯定在不同的地方。 你必須確保他們使用相同的環境。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.