通过rvm为Ruby 1.9.2安装linecache19

时间:2011-07-11 13:09:45

标签: gem rvm ruby-1.9.2 linecache

我遇到了为ruby 1.9.2安装linecache19(ruby-debug19的依赖项)的问题

这是我的术语输出

$ 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 个答案:

答案 0 :(得分:48)

你可能遇到和我一样的问题。当我跑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

答案 1 :(得分:2)

在OS X Lion上使用rbenv时,我遇到了同样的问题(linecache19永远/无限期挂起)。我发现解决方案是使用OpenSSL选项安装Ruby,如下所示:

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

现在,你可以运行它,并且安装得很好:

gem install ruby-debug19

希望有人帮助。帽子提示adrpac's gist

答案 2 :(得分:1)

rvm exec尝试run the given command over every version of Ruby installed。您是否安装了1.9.2以外的其他版本(包括系统默认值)?如果是这样,那么这个版本可能会失败。

如果你rvm use 1.9.2,你不需要做任何特别的事情来让命令在Ruby 1.9.2的上下文中执行--RVM在你运行use时设置环境。只需做一个gem install linecache19 --backtrace

答案 3 :(得分:1)

你甚至可以按照

的方式做点什么
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//@*}"'

该命令将遍历从$(ls ..)命令返回的每个1.9.2 ruby​​,并将rvm命令应用于每个命令。

答案 4 :(得分:1)

这对我有用

rvm @global gem install ruby-debug19 -- --with-ruby-include=$rvm_path/src/$(rvm tools strings)

答案 5 :(得分:0)

尝试发表评论

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

然后捆绑安装。

答案 6 :(得分:0)

对我有用的是使用exec:

gem下运行rvm
'sudo rvm exec gem install ruby-debug19'
'sudo rvm exec gem install linecache19'

答案 7 :(得分:0)

在rvm下指定ruby文件的来源为我工作

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