【问题标题】:Installing linecache19 for Ruby 1.9.2 via rvm通过 rvm 为 Ruby 1.9.2 安装 linecache19
【发布时间】:2011-10-02 19:05:00
【问题描述】:

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

有什么办法解决这个问题吗?

【问题讨论】:

    标签: gem rvm ruby-1.9.2 linecache


    【解决方案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
    

    【讨论】:

    • 我遇到了类似的问题并尝试了命令,但如果没有强制安装 linecache19,它并没有帮助,所以所有遇到类似错误的人都可以在stackoverflow.com/questions/7700828/… 上查看我的工作解决方案
    • 顺便说一句,我现在使用github.com/cldwalker/debugger。它是“ruby-debug(19) 的一个分支,适用于 1.9.2 和 1.9.3,并且可以轻松安装 rvm/rbenv rubies。”
    • 在 1.9.3-head + mac os x 10.7 lion 上也有同样的问题,只需使用 $rvm_path/src/ruby-1.9.3-head 即可。
    • 我在使用 debugger-linecache 时遇到了类似的错误,而您的 --with-ruby-include 为我解决了它。
    【解决方案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的小费。

    【讨论】:

      【解决方案3】:

      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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          【解决方案5】:

          这对我有用

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

          【讨论】:

            【解决方案6】:

            尝试评论

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

            然后捆绑安装。

            【讨论】:

              【解决方案7】:

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

              'sudo rvm exec gem install ruby-debug19'
              'sudo rvm exec gem install linecache19'
              

              【讨论】:

                【解决方案8】:

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

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

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-12-10
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-07-11
                  相关资源
                  最近更新 更多