如何调试gem安装失败的原因?

我正在尝试使用gem install geoutm 。 Github存储库没有问题页面,所以我试图自己解决问题,然后提交拉取请求。 这是问题:

  $ gem install geoutm
获取:geoutm-1.0.1.gem(100%)
已成功安装geoutm-1.0.1
错误:执行gem时...(TypeError)
    没有将Array隐式转换为String 

它说“成功安装”,但试图要求gem失败。 详细安装不是更有用:

  $ gem install geoutm --verbose
 HEAD https://rubygems.org/latest_specs.4.8.gz
 302暂时移动
 HEAD https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz
 200好的
获取https://rubygems.org/latest_specs.4.8.gz
 302暂时移动
获取https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz
 200好的
安装gem geoutm-1.0.1
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/spec/latlon_spec.rb
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/spec/geoutm_spec.rb
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/spec/spec_helper.rb
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/spec/utm_spec.rb
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/spec/testdata.yaml
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/spec/spec.opts
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/spec/ellipsoid_spec.rb
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/lib/geoutm/utm_zones.rb
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/lib/geoutm/geo_utm_exception.rb
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/lib/geoutm/utm.rb
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/lib/geoutm/ellipsoid.rb
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/lib/geoutm/latlon.rb
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/lib/geoutm.rb
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/LICENCE
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/README.rdoc
 /home/tomas/.rvm/gems/ruby-2.0.0-p247/gems/geoutm-1.0.1/History.txt
已成功安装geoutm-1.0.1
错误:执行gem时...(TypeError)
    没有将Array隐式转换为String 

手动下载并在没有安装的情况下使用时,gem可以完美地工作。

问题是我不知道如何找出类型错误发生的位置。 我找不到任何安装日志或更详细的输出标志。 知道如何弄清楚这个错误吗?

使用来自的输出

 $ gem install --backtrace ... 

你还可以做

 $ byebug /home/tallakt/.rvm/rubies/ruby-2.0.0-p0/bin/gem install geoutm-1.0.1.gem 

里面的byebyg类型:

 (byebug) break /home/tallakt/.rvm/gems/ruby-2.0.0-p0/gems/rdoc-4.0.1/lib/rdoc/rubygems_hook.rb:171 Created breakpoint 1 at /home/tallakt/.rvm/gems/ruby-2.0.0-p0/gems/rdoc-4.0.1/lib/rdoc/rubygems_hook.rb:171 (byebug) c 

我正在努力找到geoutm中的错误,但是现在可以使用

 $ gem install -N geoutm 

跳过RDoc生成

感谢Arup Rakshit的评论,我尝试了这个命令:

  gem install geoutm --debug --backtrace --verbose 

我得到了一个很好的错误回溯:

  /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/options.rb:407中的exception`TypeError' - 没有将Array隐式转换为String
错误:执行gem时...(TypeError)
    没有将Array隐式转换为String
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/options.rb:407:in“存在吗?”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/options.rb:407:in,clock in check_files'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/options.rb:406:in“delete_if”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/options.rb:406:in`check_files'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/options.rb:480:in“finish”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/options.rb:1037:in“parse”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/rubygems_hook.rb:162:in,clock in generate'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/rubygems_hook.rb:159:in`chdir'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/rubygems_hook.rb:159:in“generate”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/rubygems_hook.rb:54:inclock in generation_hook'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/rubygems_hook.rb:53:in“each”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/rubygems_hook.rb:53:in'generation_hook'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/dependency_installer.rb:382:in`call'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/dependency_installer.rb:382:in“block(安装中的2个级别)”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/dependency_installer.rb:381:in“each”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/dependency_installer.rb:381:in“block in install”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/dependency_installer.rb:401:in`in_background'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/dependency_installer.rb:380:in`install'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/commands/install_command.rb:166:in“block in execute”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/commands/install_command.rb:158:in“each”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/commands/install_command.rb:158:in`execu'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/command.rb:305:in`invoke_with_build_args'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/command_manager.rb:170:in,process_args'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/command_manager.rb:130:in“run”
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/gem_runner.rb:60:in'run'
     /home/tomas/.rvm/rubies/ruby-2.0.0-p247/bin/gem:22:in“