6

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

4

2 に答える 2

3

この行を Gemfile に追加します

gem "rmagick"

それからbundle install

于 2012-07-09T07:56:12.260 に答える
1

あなたの問題は、2つ以上のルビーを持っている可能性があることです。以下を確認してください。

  • どのルビー
  • どのirb
  • どのバンドル
  • どの宝石

彼らは間違いなく別の場所にいます。同じ環境を使用していることを確認する必要があります。

于 2012-07-10T08:09:35.937 に答える