20

我在为 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 中断。

任何想法如何解决这个问题?

4

8 回答 8

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
于 2011-09-12T02:48:44.980 回答
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 的要点致敬

于 2011-11-06T13:08:47.587 回答
1

你甚至可以做一些类似的事情

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

然后,您可以执行类似的操作来针对所有 1.9.2 rubies 应用安装。

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 命令应用于每个命令。

于 2011-09-13T22:20:47.627 回答
1

rvm exec尝试在每个安装的 Ruby 版本上运行给定的命令。是否安装了 1.9.2 以外的其他版本(包括系统默认)?如果是这样,很可能是这个版本失败了。

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

于 2011-07-25T06:31:18.117 回答
1

这对我有用

rvm @global gem install ruby-debug19 -- --with-ruby-include=$rvm_path/src/$(rvm tools strings)
于 2012-01-07T05:58:54.000 回答
0

尝试发表评论

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

然后捆绑安装。

于 2011-12-03T22:08:42.027 回答
0

对我有用的是在gem下运行rvm,使用 exec:

'sudo rvm exec gem install ruby-debug19'
'sudo rvm exec gem install linecache19'
于 2012-03-31T22:35:01.250 回答
0

在 rvm 下指定 ruby​​ 文件的来源对我有用

gem install linecache19  -- --with-ruby-include=$rvm_path/src/ruby-1.9.2-head/
于 2012-11-23T02:59:25.420 回答