From: Kyosuke MOROHASHI <redmine@...> Date: 2009-02-15T19:52:33+09:00 Subject: [ruby-dev:38020] [Bug #1163] gem_prelude raise NoMethodError if require uninsalled gem with version. Bug #1163: gem_prelude raise NoMethodError if require uninsalled gem with version. http://redmine.ruby-lang.org/issues/show/1163 起票者: Kyosuke MOROHASHI ステータス: Open, 優先度: Normal ruby -v: ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-darwin9] gemをKernel#gemで読み込む際、 (1)インストールされていないgemで、かつ (2)バージョンを指定した場合に NoMethodErrorが発生します。ここはGem::LoadErrorであるべきではないでしょうか。 ご検討お願いします。 # インストールされていないgemをバージョン付きで読み込むとNoMethodError $ ruby19 -ve "p gem 'rackie', '>= 1.0.0'" ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-darwin9] <internal:gem_prelude>:249:in `push_gem_version_on_load_path': undefined method `<=>' for nil:NilClass (NoMethodError) from <internal:gem_prelude>:14:in `gem' from -e:1:in `<main>' # インストールされていないgemを読み込むとGem::LoadError $ ruby19 -ve "p gem 'rackie'" ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-darwin9] <internal:gem_prelude>:234:in `push_gem_version_on_load_path': Could not find RubyGem rackie (>= 0) (Gem::LoadError) from <internal:gem_prelude>:14:in `gem' from -e:1:in `<main>'[telperion:~/tmp/rails/actionpack] 19:47# moro[1]$ # インストールされているgemをバージョン付きで読み込むとGem::LoadError $ ruby19 -ve "p gem 'rack', '>= 1.0.0'" ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-darwin9] /Users/moro/opt/ruby191/lib/ruby19/1.9.1/rubygems.rb:636:in `report_activate_error': RubyGem version error: rack(0.9.1 not >= 1.0.0) (Gem::LoadError) from /Users/moro/opt/ruby191/lib/ruby19/1.9.1/rubygems.rb:141:in `activate' from /Users/moro/opt/ruby191/lib/ruby19/1.9.1/rubygems.rb:49:in `gem' from <internal:gem_prelude>:261:in `push_gem_version_on_load_path' from <internal:gem_prelude>:14:in `gem' from -e:1:in `<main>'[telperion:~/tmp/rails/actionpack] ---------------------------------------- http://redmine.ruby-lang.org