我正在尝试使用gem install geoutm
安装geoutm。 Github存储库没有问题页面,所以我试图自己解决问题然后提交拉取请求。这就是问题所在:
$ gem install geoutm Fetching: geoutm-1.0.1.gem (100%) Successfully installed geoutm-1.0.1 ERROR: While executing gem ... (TypeError) no implicit conversion of Array into String
它说“已成功安装”,但试图要求宝石失败。详细安装不是更有用:
$ gem install geoutm --verbose HEAD https://rubygems.org/latest_specs.4.8.gz 302 Moved Temporarily HEAD https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz 200 OK GET https://rubygems.org/latest_specs.4.8.gz 302 Moved Temporarily GET https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz 200 OK Installing 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 Successfully installed geoutm-1.0.1 ERROR: While executing gem ... (TypeError) no implicit conversion of Array into String
手动下载并在没有安装的情况下使用时,宝石可以完美运行。
问题是我不知道如何找出类型错误发生的位置。我找不到任何安装日志或更详细的输出标志。知道我怎么能弄清楚这个错误吗?
答案 0 :(得分:4)
感谢Arup Rakshit的评论,我尝试了这个命令:
gem install geoutm --debug --backtrace --verbose
我得到了错误的回溯:
Exception `TypeError' at /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/options.rb:407 - no implicit conversion of Array into String ERROR: While executing gem ... (TypeError) no implicit conversion of Array into String /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/options.rb:407:in `exist?' /home/tomas/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rdoc/options.rb:407:in `block 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 `block 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:in `block 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 levels) in install' /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 `execute' /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 `<main>'
答案 1 :(得分:4)
使用
的输出$ 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生成