Установка linecache19 для Ruby 1.9.2 через rvm - PullRequest
20 голосов
/ 11 июля 2011

У меня проблема с установкой linecache19 (зависимость ruby-debug19) для ruby ​​1.9.2

Вот мой термин выходной

$ rvm use 1.9.2
Using /home/bogdan/.rvm/gems/ruby-1.9.2-p180
$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]
$ rvm exec gem install linecache19 --backtrace
gem install linecache19 --backtrace

rvm 1.6.20 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]

ERROR:  Error installing linecache19:
    linecache19 requires Ruby version >= 1.9.2.
ERROR:  Error installing linecache19:
    linecache19 requires Ruby version >= 1.9.2.
Building native extensions.  This could take a while...

Последняя команда висит навсегда, пока не прервется с помощью ^ C.

Есть идеи, как это исправить?

Ответы [ 8 ]

48 голосов
/ 12 сентября 2011

У вас может быть та же проблема, что и у меня.Когда я запустил bundle install, я получил ошибку:

Installing linecache19 (0.5.12) with native extensions
/Users/joseph/.rvm/rubies/ruby-1.9.2p290/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:552:in `rescue in block in build_extensions':
ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

/Users/joseph/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb 

С http://isitruby19.com/linecache19 Я обнаружил, что это работает:

gem install ruby-debug19 -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-p290
2 голосов
/ 06 ноября 2011

У меня была та же проблема (linecache19 зависает навсегда / бесконечно) при использовании rbenv на OS X Lion.Я обнаружил, что решение было установить Ruby с опцией OpenSSL, например:

rbenv install 1.9.2-p290 --with-openssl-dir=/usr/local
reben rehash
rbenv global 1.9.2-p290

Теперь, вы можете запустить это, и он установится нормально:

gem install ruby-debug19

Надеюсь, что кому-то поможет,Наконечник шляпы суть адрпака .

1 голос
/ 07 января 2012

Это сработало для меня

rvm @global gem install ruby-debug19 -- --with-ruby-include=$rvm_path/src/$(rvm tools strings)
1 голос
/ 14 сентября 2011

Вы даже можете сделать что-то вроде

rvm 1.9.2@global exec 'gem install linecache19 -- --with-ruby-include="${rvm_path}/src/${rvm_env_string//@*}"'

Затем вы можете сделать что-то подобное, чтобы применить установку ко всем вашим 1.9.2 рубинам.

for ver in $(ls $rvm_path/rubies | grep 1.9.2 | sed s/ruby-//g | sed s/\\///g); do rvm $ver@global exec 'gem install linecache19 -- --with-ruby-include="${rvm_path}/src/${rvm_env_string//@*}"'

Эта команда будет проходить через каждый 1.9.2 рубин, возвращенный из команды $ (ls ..), и применять вашу команду rvm к каждому из них.

1 голос
/ 25 июля 2011

rvm exec пытается запустить данную команду для каждой установленной версии Ruby . У вас установлена ​​другая версия, кроме 1.9.2 (включая системную версию по умолчанию)? Если это так, скорее всего, эта версия не работает.

Если вы rvm use 1.9.2, вам не нужно делать ничего особенного, чтобы команды выполнялись в контексте Ruby 1.9.2 - RVM устанавливает среду при запуске use. Просто сделайте gem install linecache19 --backtrace.

0 голосов
/ 23 ноября 2012

Указание источника файлов ruby ​​под rvm сработало у меня

gem install linecache19  -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-head/
0 голосов
/ 01 апреля 2012

Что сработало для меня, так это запустить gem под rvm, используя exec:

'sudo rvm exec gem install ruby-debug19'
'sudo rvm exec gem install linecache19'
0 голосов
/ 04 декабря 2011

Попробуйте прокомментировать

 #gem 'ruby-debug19', :require => 'ruby-debug'

Затем установите пакет.

...