Установка linecache19 для Ruby 1.9.2 через rvm
У меня возникла проблема с установкой linecache19 (зависимость ruby-debug19) для ruby 1.9.2
Вот мой вывод term
$ 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 ([email protected]) [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.
Любые идеи, как это исправить?
Ответы
Ответ 1
У вас может быть такая же проблема, как и я. Когда я побежал 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
У меня была такая же проблема (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
Надеюсь, что это поможет кому-то. Совет о шляпе adrpac gist.
Ответ 3
rvm exec
пытается запускать заданную команду для каждой версии Ruby, установленной. У вас установлена другая версия, отличная от 1.9.2 (в том числе по умолчанию)? Если это так, вероятно, эта версия не работает.
Если вы rvm use 1.9.2
, вам не нужно делать что-либо особенное для выполнения команд в контексте Ruby 1.9.2. RVM настраивает среду при запуске use
. Просто выполните gem install linecache19 --backtrace
.
Ответ 4
Вы даже можете сделать что-то в строках
rvm [email protected] 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 [email protected] exec 'gem install linecache19 -- --with-ruby-include="${rvm_path}/src/${rvm_env_string//@*}"'
Эта команда будет проходить через каждый 1,9,2 рубин, возвращенный из команды $(ls..), и применяет вашу команду rvm к каждому из них.
Ответ 5
Это сработало для меня
rvm @global gem install ruby-debug19 -- --with-ruby-include=$rvm_path/src/$(rvm tools strings)
Ответ 6
Попробуйте прокомментировать
#gem 'ruby-debug19', :require => 'ruby-debug'
Затем установите пакет.
Ответ 7
Для меня работала gem
под rvm
, используя exec:
'sudo rvm exec gem install ruby-debug19'
'sudo rvm exec gem install linecache19'
Ответ 8
Задание источника рубиновых файлов под rvm работало для меня
gem install linecache19 -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-head/