ruby 1.9.2p320 レール 3.0.8 Fedora リリース 16 (Verne)
やりました:
yum install imagemagick yum install ImageMagick-devel gem install RMagick まったく問題なし
スタンドアロンの Ruby プログラムから RMagick を実行できますが、Rails の Ruby (同じインタープリターを使用) は RMagick を見つけることができません。
gremlin:eric cars01 $ irb
irb(main):001:0> 'RMagick' が必要
=>真
irb(メイン):002:0> Magick::バージョン
=>「RMagick 2.13.1」
irb(メイン):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(メイン):004:0>
gremlin:eric cars01 $ レールコンソール
開発環境のロード (Rails 3.0.8)
irb(main):001:0> 'rubygems' が必要
=>なし
irb(main):002:0> 'RMagick' が必要
LoadError: ロードするファイルがありません -- 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 `require内のブロック'
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:596:in `new_constants_in'
/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'
から (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:`start' 内
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.8/lib/rails/commands.rb:23:in `<top (必須)>'
script/rails:6:in `require' から
script/rails:6:in `' から
RMagick を Gemfile に入れると、そのバージョンの有無にかかわらず、バンドルはマシン上に宝石が見つからないと言います。しかし、それは他のgemでも機能します。
Ruby が Rails の外部で RMagick をロードできるのに、RMagick をロードできない理由を知っている人はいますか?
当面の間、RMagick へのパスをロードする前に $: にプッシュするという非常にクールな回避策が機能します。