わかりました、私はこれを理解しようとして4時間を費やしましたが、成功しませんでした. 私はすべての通常の容疑者を試し、ruby 1.9.1、ロードパス、gems、mac os x、freebsd、prawn、その他のもののすべての組み合わせをグーグル検索しました。要点は次のとおりです。
Mac OS x 10.5 でソースから ruby1.9.1-p129 をコンパイルすると、デフォルトのロード パス ($:) は次のようになります。
ruby -e "puts $:" /usr/local/lib/ruby/gems /usr/local/lib/ruby/site_ruby/1.9.1 /usr/local/lib/ruby/site_ruby/1.9.1/i386-darwin9.7.0 /usr/local/lib/ruby/site_ruby /usr/local/lib/ruby/vendor_ruby/1.9.1 /usr/local/lib/ruby/vendor_ruby/1.9.1/i386-darwin9.7.0 /usr/local/lib/ruby/vendor_ruby /usr/local/lib/ruby/1.9.1 /usr/local/lib/ruby/1.9.1/i386-darwin9.7.0 .
たとえば、エビの宝石をインストールすると、次のようになります。
海老の逸品 (エビのgem prawn-0.5.0.1をチェック) /prawn.rb
そして、それを要求しようとすると、次のようになります。
ruby -e "require 'エビ'" -e:1:in `require': ロードするファイルがありません -- エビ (LoadError) -e:1:in `' から
これを解決できた唯一の方法は、次のような愚かなことをすることです。
$: << "/usr/local/lib/ruby/gems/1.9.1/gems/prawn-0.5.0.1/lib"
もちろん、これはまったくばかげています。問題は、Ruby 1.9.1 が正しい gems パスを認識してたどるにはどうすればよいかということです。私は 1.8.7 でこの問題を経験したことがないので、1.9.1 固有のものであると想定しています。ここで完全に明らかな何かが欠けていると感じています。どんな助けでも大歓迎です!