Gem install debugger -v '1.5.0' не работает

Я пытаюсь сделать bundle в большом проекте на Mavericks, и некоторые драгоценные камни сломаны или что-то не так с моей средой, несмотря на это новая установка rbenv.

$ gem install debugger -v '1.5.0'
Building native extensions.  This could take a while...
ERROR:  Error installing debugger:
    ERROR: Failed to build gem native extension.

        /Users/samat/.rbenv/versions/1.9.3-p448/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-1.9.3-p448 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.
    ...

Не знаю, какие параметры конфигурации мне нужны

В mkmf я вижу такие вещи, как

"gcc -I/Users/samat/.rbenv/versions/1.9.3-p448/include/ruby-1.9.1/x86_64-darwin13.0.0 -I/Users/samat/.rbenv/versions/1.9.3-p448/include/ruby-1.9.1/ruby/backward -I/Users/samat/.rbenv/versions/1.9.3-p448/include/ruby-1.9.1 -I. -I/Users/samat/.rbenv/versions/1.9.3-p448/include/ruby-1.9.1/ruby-1.9.3-p448 -I'/Users/samat/.rbenv/versions/1.9.3-p448/include'  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE  -I'/Users/samat/.rbenv/versions/1.9.3-p448/include'   -O3 -Wno-error=shorten-64-to-32  -pipe   -c conftest.c"
conftest.c:3:10: fatal error: 'method.h' file not found
#include <method.h>
         ^
1 error generated.
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <method.h>
    ...

Я использую rbenv,

$ rbenv version
1.9.3-p448 (set by /Users/samat/Documents/bm-git/.ruby-version)

Ответ 1

Лучше использовать последнюю версию отладчика, bc issue с вашей версией Ruby.

Ответ 2

На странице отладчика говорится, что если источник ruby ​​не может быть найден, он попытается установить debugger-ruby_core_source, что на самом деле то, что не удается для меня, Я использую rbenv, поэтому я в соответствии с инструкциями gem отладчика указал на источник rbenv.

gem install debugger -- --with-ruby-include=~/.rbenv/versions/1.9.3-p484/include

Ответ 3

Есть много проблем с камнями Ruby и Mavericks. Я нашел, что лучше всего использовать компилятор apple-gcc42 из homebrew

brew tap homebrew/versions
brew install apple-gcc42

Затем заставьте это семейство компиляторов использоваться при построении драгоценных камней. Я помещал символические ссылки в свою папку bin в своем домашнем каталоге

cd $HOME/bin
ln -s /usr/local/bin/c++-4.2 c++
ln -s /usr/local/bin/g++-4.2 g++
ln -s /usr/local/bin/gcc-4.2 cc
ln -s /usr/local/bin/gcc-4.2 gcc

Вам понадобится папка локального bin на вашем пути.

export PATH=$HOME/bin:$PATH

Тогда вам должно быть хорошо идти.

Ответ 4

Возможно, это поможет вам gem install debugger-linecache -v '1.1.2' -- --with-ruby-include=$rvm_path/src/ruby-1.9.3-p286/

Ответ 5

Иногда эта проблема связана с отсутствующим пакетом. В большинстве случаев эти файлы (например, method.h) принадлежат пакету с именем libXXX-dev.

Нам сложно понять, что пакет содержит файл. Недавно я столкнулся с полезностью для решения этой досадной проблемы (для тех, кто работает с менеджером пакетов apt-get). Инструмент apt-file, и вы можете использовать его следующим образом:

  • Установка: sudo apt-get install apt-file
  • Обновление apt файла db: sudo apt-file update
  • Глядя на файл: sudo apt-file search 'method.h'

Результат может быть:

...
libcxxtools-dev: /usr/include/cxxtools/constmethod.h
libcxxtools-dev: /usr/include/cxxtools/method.h
libcxxtools-dev: /usr/include/cxxtools/unit/testmethod.h
libgcj12-dev: /usr/include/c++/4.6/gcj/method.h
libgcj13-dev: /usr/include/c++/4.7/gcj/method.h
...

В частном случае debugger gem недостающим пакетом является `libcxxtools-dev``

Я на Debian 3.2.54-2 x86_64 GNU/Linux

Ответ 6

Для меня это была проблема разрешения.

Я смог решить эту проблему с помощью

sudo gem install debugger

Если это не поможет вам, возможно, придется участвовать в зависимой кроличьей дыре.