1

私は簡単なスクリプトを持っています:

require 'rubygems'
require 'mechanize'
p 'Success!'

スクリプトを実行すると、次のようになります。

/Users/.../.rvm/rubies/ruby-1.9.3-p385/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mechanize.rb (LoadError)
from /Users/.../.rvm/rubies/ruby-1.9.3-p385/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from test.rb:2:in `<main>'

必死になって、RVMをインストールし、システム1.8.7からrubyを更新しました。それでも、rvmをインストールする前と同じエラーが発生します。私は今走っています:

mute:nfg ..$ ruby -v
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-darwin10.8.0]

irbは同じことを報告します:

1.9.3p385 :001 > require 'rubygems'
 => false 
1.9.3p385 :002 > require 'mechanize'
LoadError: cannot load such file -- mechanize
from /Users/../.rvm/rubies/ruby-1.9.3-p385/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/../.rvm/rubies/ruby-1.9.3-p385/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from (irb):2
from /Users/../.rvm/rubies/ruby-1.9.3-p385/bin/irb:16:in `<main>'

プロジェクトディレクトリから、sudoを使用して、使用せずに、mechanizeを数回再インストールしました。

フルパスとともに、gemを手動で要求しようとしました。

mute:nfg ..$ ruby -l ~/.gems/gems/mechanize-2.5.1/lib/mechanize.rb
/Users/../.rvm/rubies/ruby-1.9.3-p385/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mime/types (LoadError)
from /Users/../.rvm/rubies/ruby-1.9.3-p385/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/../.gems/gems/mechanize-2.5.1/lib/mechanize.rb:4:in `<main>'

(私もmime-typesをインストールしてみました。)

RVMは宝石をうまくリストします:

mute:nfg ..$ rvm all do gem list
*** LOCAL GEMS ***
...
libxml-ruby (2.3.3, 1.1.2)
mechanize (2.5.1)
mime-types (1.21, 1.19)
...

宝石と同じように:

mute:nfg ..$ gem list
*** LOCAL GEMS ***
...
libxml-ruby (2.3.3, 1.1.2)
mechanize (2.5.1)
mime-types (1.21, 1.19)
...

不思議なことに、$ GEM_PATHs~/.rvm/gems/ruby-1.9.3-p385はほとんど空のよう~/.rvm/gems/ruby-1.9.3-p385@global~/.rvm/gems/ruby-1.9.3-p385@project見えます(最初の2つの宝石、最後のどちらにも1つもありません)。ただし、GUI JewelleryBoxは、3つのgemsetすべてにが含まれていることを確認しますMechanize

編集:これがgemenvの結果です:

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.25
  - RUBY VERSION: 1.9.3 (2013-02-06 patchlevel 385) [x86_64-darwin10.8.0]
  - INSTALLATION DIRECTORY: /Users/../.gems
  - RUBY EXECUTABLE: /Users/../.rvm/rubies/ruby-1.9.3-p385/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/../.gems/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-10
  - GEM PATHS:
     - /Users/../.gems
     - /Users/../.gem
     - /usr/lib/ruby/gems/1.8
     - /Library/Ruby/Gems/1.8
     - /usr/bin
  - GEM CONFIGURATION:
 - :update_sources => true
 - :verbose => true
 - :benchmark => false
 - :backtrace => false
 - :bulk_threshold => 1000
 - :sources => ["http://gems.rubyforge.org/", "http://gems.github.com"]
 - "gemhome" => "/Users/../.gems"
 - "gempath" => ["/Users/../.gem", "/usr/lib/ruby/gems/1.8", "/Library/Ruby/Gems/1.8", "/usr/bin"]
- REMOTE SOURCES:
 - http://gems.rubyforge.org/
 - http://gems.github.com

誰か助けてもらえますか?

4

1 に答える 1

1

お使いの環境は gem のカスタム パスを使用するように設定されています。PATH

実行して出力を注意深く読むと、 ruby​​gems / RVM を破るrvm get headエントリについて警告が表示されます*gemrc

于 2013-02-24T14:07:02.600 に答える