【问题标题】:Readline not working in rvm - Ubuntu 11.10Readline 在 rvm 中不起作用 - Ubuntu 11.10
【发布时间】:2012-01-29 18:31:10
【问题描述】:

我在我的 ubyntu 11.10 上使用 rvm。我的 readline 不工作,我试过 ruby extconf.rb 但它没有通过。输出如下:

$ ruby extconf.rb 
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... yes
checking for readline/history.h... yes
checking for readline() in -lreadline... no
checking for readline() in -ledit... no
checking for editline/readline.h... no

我尝试安装 libncurses5-dev & libreadline5-dev

$ sudo apt-get install libncurses5-dev libreadline5-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libreadline5-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  libreadline-gplv2-dev:i386 lib64readline-gplv2-dev:i386 libreadline-gplv2-dev

E: Package 'libreadline5-dev' has no installation candidate

这里有什么问题?有人可以帮忙吗?

【问题讨论】:

    标签: ruby rvm readline


    【解决方案1】:

    我尝试了所有方法,但没有成功。我必须做 rvm 内爆(在安装了所有要求之后),然后 rvm install 1.8.7; rvm install 1.9.3 就可以了

    【讨论】:

      【解决方案2】:

      我已经用谷歌搜索了几天,但没有任何答案可以帮助我,所以我的解决方案是:

      完全删除 rvm How to remove rvm

      删除所有 ruby​​ 包。首先,找出你有哪些包:

      dpkg -l | grep ruby
      

      然后制作

      sudo apt-get purge {PACKAGE}

      {PACKAGE} 是您要删除的包(对我来说有 ruby ruby1.8 ruby1.9.1

      然后我全新安装了 RVM Install RVM 并安装了 ruby​​ 1.9.2

      rvm install 1.9.2
      

      现在应该可以了!

      【讨论】:

        【解决方案3】:

        我得到了解决方案:

        运行命令

        rvm requirements
        

        它显示了需求和依赖关系。安装这些并在 rvm 上重新安装 ruby​​

        rvm remove 1.9.2
        rvm install 1.9.2
        

        有效!

        【讨论】:

        • 这对我有用,但只有在完全删除 /usr/local/rvm 并从头开始重新安装 rvm 之后。 rvm remove 1.9.2 似乎不足以清除缓存中的任何内容。
        【解决方案4】:

        由于某种原因,我无法评论 @zzeroo 的回答,但我想提请注意他正在使用的事实

         --with-readline-dir=/usr/include/readline
        

        而不是

        --with-readline-dir=$rvm_path/usr
        

        我的头撞墙了很长一段时间,并为我解决了这个问题。

        【讨论】:

          【解决方案5】:

          与此处Readline errors prevent me running rails console的问题相同

          ubuntu下可以使用系统readline安装。

          rvm uninstall ${YOURUBYVERSION}
          sudo apt-get install libreadline-dev
          rvm install ${YOURUBYVERSION} --with-readline-dir=/usr/include/readline
          

          用你想要的 ruby​​ 版本替换 ${YOURUBYVERSION}。

          【讨论】:

          • 你好,跳转点是--with-readline-dir=/usr/include/readline
          【解决方案6】:

          你试过了吗:

          rvm pkg install readline
          

          然后通过RVM--with-readline-dir=$rvm_path/usr安装ruby?

          http://beginrescueend.com/packages/readline/

          FWIW,如果您从未考虑过,我建议您尝试一下 rbenv + ruby-build。比使用 RVM 少得多。

          【讨论】:

          • 当你说“不起作用”时,你的意思是你得到了错误,还是别的什么?你得到什么错误(如果你得到它们)?
          • 我做了rvm remove 1.9.2rvm pkg install readlinervm install 1.9.2 --with-readline-dir=$rvm_path/usr。没有错误。但是当我尝试irb 时,它显示Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the readline libraries. ruby-1.9.2-p290 :001 >
          • echo $rvm_path 会得到什么?如果为空,则必须手动指定路径。
          • /home/sayuj/.rvm 是我的 rvm 路径
          • 您愿意放弃 rvm 并尝试 rbenv 吗?它基本上是一样的,但更简单更好。我还没有听说有人改变并决定回到 RVM。按照 README 并安装对应的 ruby​​-build 以使用 rbenv install 1.9.2-p290 实际编译 ruby​​。只是我的 0.02 美元。我对 RVM 没有想法和/或想太多:P
          猜你喜欢
          • 2023-03-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-05
          • 2012-02-22
          • 2011-12-30
          • 2011-12-19
          • 1970-01-01
          相关资源
          最近更新 更多