Alternative to 'ruby-debug19' (culprit 'linecache19') on ruby 2.0.0p247?

邮差的信 提交于 2020-01-05 08:29:59

问题


I am frustrated because I have tried other StackOverflow articles on this issue, but have been unsuccessful in fixing my own error. When I call

'gem install linecache19'

...the following error is outputed

ERROR:  Error installing linecache19:
    ERROR: Failed to build gem native extension.

    /home/user/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb
checking for vm_core.h... no
/home/user/.rvm/gems/ruby-2.0.0-p247/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:39:in `create_makefile_with_core': Use RbConfig instead of obsolete and deprecated Config.
/home/user/.rvm/gems/ruby-2.0.0-p247/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:39:in `create_makefile_with_core': Use RbConfig instead of obsolete and deprecated Config.
checking for vm_core.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/home/user/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
    --with-ruby-dir
    --without-ruby-dir
    --with-ruby-include
    --without-ruby-include=${ruby-dir}/include
    --with-ruby-lib
    --without-ruby-lib=${ruby-dir}/
/home/user/.rvm/gems/ruby-2.0.0-p247/gems/ruby_core_source-0.1.5/lib/contrib/uri_ext.rb:268:in `block (2 levels) in read': Looking for http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-2.0.0-p247.tar.gz and all I got was a 404! (URI::NotFoundError)
    from /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:1413:in `block (2 levels) in transport_request'
    from /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http/response.rb:162:in `reading_body'
    from /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:1412:in `block in transport_request'
    from /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:1403:in `catch'
    from /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:1403:in `transport_request'
    from /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:1376:in `request'
    from /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:1369:in `block in request'
    from /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:852:in `start'
    from /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:1367:in `request'
    from /home/user/.rvm/gems/ruby-2.0.0-p247/gems/ruby_core_source-0.1.5/lib/contrib/uri_ext.rb:239:in `block in read'
    from /home/user/.rvm/gems/ruby-2.0.0-p247/gems/ruby_core_source-0.1.5/lib/contrib/uri_ext.rb:286:in `connect'
    from /home/user/.rvm/gems/ruby-2.0.0-p247/gems/ruby_core_source-0.1.5/lib/contrib/uri_ext.rb:234:in `read'
    from /home/user/.rvm/gems/ruby-2.0.0-p247/gems/ruby_core_source-0.1.5/lib/contrib/uri_ext.rb:128:in `download'
    from /home/user/.rvm/gems/ruby-2.0.0-p247/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:55:in `block in create_makefile_with_core'
    from /home/user/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tempfile.rb:324:in `open'
    from /home/user/.rvm/gems/ruby-2.0.0-p247/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:51:in `create_makefile_with_core'
    from extconf.rb:19:in `<main>'
Requesting http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-2.0.0-p247.tar.gz


Gem files will remain installed in /home/user/.rvm/gems/ruby-2.0.0-p247/gems/linecache19-0.5.12 for inspection.
Results logged to /home/user/.rvm/gems/ruby-2.0.0-p247/gems/linecache19-0.5.12/ext/trace_nums/gem_make.out

Please notice the culprit line...

/home/user/.rvm/gems/ruby-2.0.0-p247/gems/ruby_core_source-0.1.5/lib/contrib/uri_ext.rb:268:in `block (2 levels) in read': Looking for http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-2.0.0-p247.tar.gz and all I got was a 404! (URI::NotFoundError)

Obviously this does not work...the url http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-2.0.0-p247.tar.gz doesn't make sense. (Accesses Ruby1.9 then looks for the Ruby2.0 tar.gz)

This is for a class project (for CS169: Software Engineering at UC Berkeley) that requires the gem 'ruby-debug19', which tries to install 'linecache19'.

Do I have to downgrade to ruby1.9, or can I keep using ruby2.0?

When I call

$ruby -v

I get the following...

ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]

I am using RVM.

I am slightly suspicious that linecache19 does not support ruby 2.0.


回答1:


Try installing byebug instead of debugger for Ruby 2.0. You already seem to have the minimum supportable patchlevel of Ruby.




回答2:


debugger and linecache are not supported by Ruby 2.0. You can use byebug gem instead.




回答3:


Try doing this:

gem install linecache19 -- --with-ruby-include=$rvm_path/src/ruby-2.0.0-p247




回答4:


Add this in your gem file

   gem 'debugger'

and give

   bundle install



回答5:


you just need to replace the code in url

/home/{your-user-name]/.rvm/gems/ruby-2.0.0-p645/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb

from 1.9 to 2.0

|improve this answer

来源:https://stackoverflow.com/questions/19375492/alternative-to-ruby-debug19-culprit-linecache19-on-ruby-2-0-0p247

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!