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 へのパスをロードする前に $: にプッシュするという非常にクールな回避策が機能します。