Ruby gem错误“Google不是模块/类”

时间:2013-01-17 07:21:32

标签: ruby class module rubygems

当我第一次要求'roo'然后需要'google-search'时,我收到错误

TypeError: Google is not a module

同样,我首先要求'google-search',然后要求'roo'我收到此错误

TypeError: Google is not a class

请参阅下文,了解irb实际发生的事情

{12:30}[1.9.3]~ ➭ irb
1.9.3-p0 :001 > require 'roo'
 => true
1.9.3-p0 :002 > require 'google-search'
TypeError: Google is not a module
        from /home/sagar/.rvm/gems/ruby-1.9.3-p0/gems/google-search-1.0.3/lib/google-search/version.rb:2:in `<top (required)>'
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
        from /home/sagar/.rvm/gems/ruby-1.9.3-p0/gems/google-search-1.0.3/lib/google-search.rb:26:in `<top (required)>'
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `require'
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `rescue in require'
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
        from (irb):2
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/bin/irb:16:in `<main>'
1.9.3-p0 :003 > exit
{12:30}[1.9.3]~ ➭ irb
1.9.3-p0 :001 > require 'google-search'
 => true
1.9.3-p0 :002 > require 'roo'
TypeError: Google is not a class
        from /home/sagar/.rvm/gems/ruby-1.9.3-p0/gems/roo-1.10.1/lib/roo/google.rb:7:in `<top (required)>'
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
        from /home/sagar/.rvm/gems/ruby-1.9.3-p0/gems/roo-1.10.1/lib/roo.rb:74:in `<top (required)>'
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `require'
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `rescue in require'
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
        from (irb):2
        from /home/sagar/.rvm/rubies/ruby-1.9.3-p0/bin/irb:16:in `<main>'

1 个答案:

答案 0 :(得分:4)

对此的修复是拥有Roo命名空间。 我修改了roo gem github。 您可以从github存储库下载roo-1.4.0.gem并安装此版本的roo