Подтвердить что ты не робот

Ошибка установки ruby-debug: не удалось создать собственное расширение gem

Я запускаю 1.9.2 с рельсами 3.

Я использую rvm.

Я сделал:

sudo gem install ruby-gem

и получил:

Building native extensions.  This could take a while...
ERROR:  Error installing ruby-debug:
    ERROR: Failed to build gem native extension.

/Users/blankman/.rvm/rubies/ruby-1.9.2-head/bin/ruby extconf.rb
Can't handle 1.9.x yet
*** 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=/Users/blankman/.rvm/rubies/ruby-1.9.2-head/bin/ruby


Gem files will remain installed in /Users/blankman/.rvm/gems/ruby-1.9.2-head/gems/linecache-0.43 for inspection.
Results logged to /Users/blankman/.rvm/gems/ruby-1.9.2-head/gems/linecache-0.43/ext/gem_make.out

UPDATE

Добавлено:

gem 'ruby-debug19'

и при запуске установки пакета я получаю:

Fetching source index for http://rubygems.org/
Using rake (0.8.7) 
Using abstract (1.0.0) 
Using activesupport (3.0.0.rc2) 
Using builder (2.1.2) 
Using i18n (0.4.1) 
Using activemodel (3.0.0.rc2) 
Using erubis (2.6.6) 
Using rack (1.2.1) 
Using rack-mount (0.6.13) 
Using rack-test (0.5.6) 
Using tzinfo (0.3.23) 
Using actionpack (3.0.0.rc2) 
Using mime-types (1.16) 
Using polyglot (0.3.1) 
Using treetop (1.4.8) 
Using mail (2.2.7) 
Using actionmailer (3.0.0.rc2) 
Using arel (1.0.1) 
Using activerecord (3.0.0.rc2) 
Using activeresource (3.0.0.rc2) 
Using archive-tar-minitar (0.5.2) 
Using bundler (1.0.3) 
Using columnize (0.3.1) 
Using ruby_core_source (0.1.4) 
Installing linecache19 (0.5.11) with native extensions /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

/Users/blankman/.rvm/rubies/ruby-1.9.2-head/bin/ruby extconf.rb 
checking for vm_core.h... no
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=/Users/blankman/.rvm/rubies/ruby-1.9.2-head/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}/lib
/Users/blankman/.rvm/gems/[email protected]/gems/ruby_core_source-0.1.4/lib/contrib/uri_ext.rb:268:in `block (2 levels) in read': Looking for http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p14.tar.gz and all I got was a 404! (URI::NotFoundError)
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/net/http.rb:1186:in `block in transport_request'
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/net/http.rb:2334:in `reading_body'
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/net/http.rb:1185:in `transport_request'
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/net/http.rb:1169:in `request'
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/net/http.rb:1162:in `block in request'
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/net/http.rb:627:in `start'
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/net/http.rb:1160:in `request'
    from /Users/blankman/.rvm/gems/[email protected]/gems/ruby_core_source-0.1.4/lib/contrib/uri_ext.rb:239:in `block in read'
    from /Users/blankman/.rvm/gems/[email protected]/gems/ruby_core_source-0.1.4/lib/contrib/uri_ext.rb:286:in `connect'
    from /Users/blankman/.rvm/gems/[email protected]/gems/ruby_core_source-0.1.4/lib/contrib/uri_ext.rb:234:in `read'
    from /Users/blankman/.rvm/gems/[email protected]/gems/ruby_core_source-0.1.4/lib/contrib/uri_ext.rb:128:in `download'
    from /Users/blankman/.rvm/gems/[email protected]/gems/ruby_core_source-0.1.4/lib/ruby_core_source.rb:55:in `block in create_makefile_with_core'
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/tempfile.rb:320:in `open'
    from /Users/blankman/.rvm/gems/[email protected]/gems/ruby_core_source-0.1.4/lib/ruby_core_source.rb:51:in `create_makefile_with_core'
    from extconf.rb:20:in `<main>'
Requesting http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p14.tar.gz


Gem files will remain installed in /Users/blankman/.rvm/gems/[email protected]/gems/linecache19-0.5.11 for inspection.
Results logged to /Users/blankman/.rvm/gems/[email protected]/gems/linecache19-0.5.11/ext/trace_nums/gem_make.out
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/rubygems/installer.rb:486:in `block in build_extensions'
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/rubygems/installer.rb:446:in `each'
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/rubygems/installer.rb:446:in `build_extensions'
    from /Users/blankman/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/rubygems/installer.rb:198:in `install'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/source.rb:100:in `install'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/installer.rb:55:in `block in run'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/spec_set.rb:12:in `block in each'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/spec_set.rb:12:in `each'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/spec_set.rb:12:in `each'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/installer.rb:44:in `run'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/installer.rb:8:in `install'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/cli.rb:221:in `install'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/vendor/thor/task.rb:22:in `run'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/vendor/thor.rb:246:in `dispatch'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/lib/bundler/vendor/thor/base.rb:389:in `start'
    from /Users/blankman/.rvm/gems/[email protected]/gems/bundler-1.0.3/bin/bundle:13:in `<top (required)>'
    from /Users/blankman/.rvm/gems/[email protected]/bin/bundle:19:in `load'
    from /Users/blankman/.rvm/gems/[email protected]/bin/bundle:19:in `<main>'
blankmans-MacBook-Pro:hz blankman$ 
4b9b3361

Ответ 1

Проблема здесь может заключаться в том, что установка script уходит, чтобы получить файлы заголовков Ruby через Интернет (для сборки gem отладчика), но не находит их для определенного уровня патча Ruby, повторно после. Это то, что происходит в выходной строке

Looking for http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p14.tar.gz and all I got was a 404! (URI::NotFoundError)

В качестве решения вы можете указать на свою локальную копию источника Ruby, который rvm уже использовал для создания рубина на вашем компьютере. Здесь идет...

gem install ruby-debug19 -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-head/

Большое спасибо Дирку по следующей ссылке, которая помогла решить эту проблему.

Ответ 2

рубиновый отладочный камень не совместим с Ruby 1.9.2. Вам нужно использовать драгоценный камень ruby-debug19

Итак, измените свой Gemfile, чтобы использовать этот

gem 'ruby-debug19'

Ответ 4

У меня была аналогичная проблема (проблема с компиляцией собственных расширений), работающая в vpn за брандмауэром и имеющая заданную переменную окружения http_proxy. Установщик этого случая не смог получить файл ruby ​​tar. Я закрыл vpn и отключил переменную http_proxy, а затем успешно установил gem. Я думаю, что -with-ruby-include является альтернативой.

Ответ 5

Установка gem ruby-debug-base19x также не удалась из-за проблем с подключением с использованием прокси-сервера cntlm, а "-with-ruby-include" не сработала для меня. Установка gem без прокси работала плавно.

Ответ 6

рубиновый отладочный камень не совместим с Ruby 1.9.2 и более поздними версиями. замените gem 'ruby-debug19' следующим Вам нужно использовать драгоценный камень ruby-debug19 Поэтому измените свой Gemfile, чтобы использовать этот

gem 'ruby-debug19'

Ответ 7

Для окон выполните поиск в ruby ​​dir для vm_core.h, а затем используйте этот каталог в качестве вашего пути include. Для меня это

gem install ruby-debug-base19 -- --with-ruby-include=C:\JRuby\lib\native\include\ruby-1.9.3-p392

Затем мне пришлось проверить:

C:\JRuby\lib\ruby\gems\shared\gems\linecache19-0.5.12\ext\trace_nums\gem_make.out

и переместите ruby ​​/ruby.h в каталог include выше.

Теперь у меня есть еще одна ошибка, исправьте ее чуть позже...