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

Нет источника для ruby-2.0.0-p451, снабженного драгоценным камнем debugger-ruby_core_source

Я видел очень похожие проблемы в других вопросах SO (например, Нет источника для ruby-1.9.2-p321, снабженного камнем отладчика-ruby_core_source), а также через поиск Google, но ни один из них не помог до сих пор.

Я использую OSX Mavericks (первый пользователь Mac) и rbenv (впервые использовал это). Я git клонировал проект Rails, который я ранее выполнял на другом ноутбуке (Ubuntu и rvm).

rbenv version: 2.0.0-p451 (который я установил вручную)

Когда я пытаюсь bundle install, я получаю следующее:

...
Using debugger-ruby_core_source (1.3.1)

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /Users/macuser/.rbenv/versions/2.0.0-p451/bin/ruby extconf.rb 
checking for rb_method_entry_t.called_id in method.h... no
checking for rb_control_frame_t.method_id in method.h... no
checking for rb_method_entry_t.called_id in method.h... no
checking for rb_control_frame_t.method_id in method.h... no
Makefile creation failed
**************************************************************************
No source for ruby-2.0.0-p451 provided with debugger-ruby_core_source gem.
**************************************************************************
*** 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/macuser/.rbenv/versions/2.0.0-p451/bin/ruby
    --with-ruby-dir
    --without-ruby-dir
    --with-ruby-include=${ruby-dir}/include
    --with-ruby-lib
    --without-ruby-lib=${ruby-dir}/


Gem files will remain installed in /Users/macuser/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/debugger-1.6.5 for inspection.
Results logged to /Users/macuser/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/debugger-1.6.5/ext/ruby_debug/gem_make.out
An error occurred while installing debugger (1.6.5), and Bundler cannot continue.
Make sure that `gem install debugger -v '1.6.5'` succeeds before bundling.

Итак, я попробовал запустить gem install debugger -v '1.6.5', что в основном вызывает ту же ошибку, что и выше.

От поиска, вот некоторые вещи, которые я безуспешно пытался:

и, возможно, некоторые другие тоже... но ничего не работает.

Обновление: переключилось на локальную среду rbenv на ruby ​​2.1.0, и это сработало. Не исправлена ​​основная проблема, но это прекрасно, я думаю,

4b9b3361

Ответ 1

Попробуйте установить debugger без указания версии и снова запустите bundle install.

У меня была такая же ошибка, и она просто сработала, не спрашивайте меня, почему:

$ gem install debugger
$ bundle install

Ответ 2

Я столкнулся с тем, что, по моему мнению, была той же проблемой при попытке установить dubugger с ruby ​​2.0.0-p598.

Драгоценный камень debugger-ruby_core_source является зависимостью отладчика и предоставляет файлы заголовков для определенных версий рубина, которые, как представляется, используются при установке отладчика. Посмотрите debugger-ruby_core_source/lib/debugger/ruby_core_source/, чтобы узнать, какие версии поддерживаются - файлы заголовков не предоставляются для всех рубиновых версий. В моем случае они не были предоставлены для версии 2.0.0-p598.

Глядя на README для debugger-ruby_core_source, есть задача rake для добавления необходимых файлов для рубиновых версий.

Из командной строки в каталоге gem я запустил

$ rake add_source VERSION=2.0.0-p598 

Когда я впервые запустил эту задачу, я получил сообщение об ошибке и должен был установить драгоценный камень archive-tar-minitar, прежде чем снова запустить задачу рейка.

После того, как задача rake добавила файлы заголовков для моей версии, я смог успешно установить и запустить отладчик.

Ответ 3

Я публикую здесь, потому что абсолютно ничего не работало. Единственное решение, которое устранило проблему для меня:

Несмотря на то, что мы устанавливаем отладчик, ошибка заключается в установке требования, debugger-ruby_core_source.

Если вы посмотрите на ошибку, где именно возникает проблема.

No source for ruby-2.0.0-p451 provided with debugger-ruby_core_source gem.

На самом деле довольно легко исправить эту ошибку. Просто запустите команду ниже, установите зависимости и повторите попытку:

gem install debugger-ruby_core_source

Кредит для этого решения: FIXED gem install debugger -v 1.6.2 'Нет источника для ruby ​​

Ответ 4

Проблема заключается в том, что ваш Gemfile.lock содержит старый драгоценный камень debugger-ruby_core_source. Этот драгоценный камень должен знать о вашей конкретной рубиновой версии, чтобы правильно получить файлы заголовков, и если версия, установленная в вашем пакете, слишком старая, она не будет работать.

Правильное решение - обновить ваш Gemfile.lock с помощью новой версии, запустив

bundle update debugger-ruby_core_source
Ответы

@delba и @superuseroi в основном сводятся к использованию gem для установки драгоценного камня debugger-ruby_core_source непосредственно из источника - который вытащит последнюю версию, но исправление вашего пакета будет проще и будет также сохраняться в вашем источнике (по крайней мере, до следующего обновления вашего Ruby).

Также см. эту статью о общих проблемах с камнем Ruby

Ответ 5

Отладчику нужен источник Ruby для работы.

Так что просто переустановите Ruby с исходным кодом (not bin).

Например:

rvm reinstall 2.0.0 --disable-binary

Ответ 6

похоже, проблема с совместимостью рубиновой версии и отладчиком жемчужины рельсов. Выполнение команды ниже работало для меня:

 rvm ruby-2.0.0-p481

Если он не работает, тип

 rvm list

получит список рубиновой версии. Выберите более раннюю версию ruby, которая может работать.

Ответ 7

Спасибо всем.

rvm list
rvm ruby-2.0.0-p451

Пробная установка пакета, возникла ошибка в том, что вы не можете установить ее в не-голый репозиторий, предлагая удалить каталог кеша; которые я сделал:

rm -rf /usr/local/rvm/gems/ruby-2.0.0-p451/cache/

попытался

rvm gemsest use [my_gemset_name] 

и получили те же ошибки.

закончил с помощью:

rvm gemset use default

и работа с пакетом.

Ответ 8

Чтобы решить эту проблему, вам нужно переустановить исходный код рельсов. Эта команда устранит проблему:

$ rvm reinstall 2.0.0 --disable-binary

Тогда команда $ bundle install будет работать.


Ссылка: https://pfonseca.com/error-to-install-debugger-s-gem

Ответ 9

Используйте beebug gem вместо исправления моей проблемы.