Readline错误阻止我运行rails控制台

时间:2011-10-26 09:40:27

标签: ruby-on-rails ubuntu readline

我的环境是rails 3.1,ruby 1.9.2,rvm,Xubuntu 11.10。

当我尝试在应用程序中运行rails控制台时,我收到指向readline的错误。

所以我试图将readline作为RVM中的包安装,但这是我得到的错误:

Applying patch '/home/rob/.rvm/patches/readline-6.2/patch-shobj-conf.diff'...
ERROR: Error running 'patch -p0 -f < /home/rob/.rvm/patches/readline-6.2/patch-shobj-    conf.diff', please read /home/rob/.rvm/log/readline/patch.log
ERROR: Patch /home/rob/.rvm/patches/readline-6.2/patch-shobj-conf.diff did not apply cleanly... back to the patching board :(

日志包含

[2011-10-26 10:16:30] patch -p0 -f < /home/rob/.rvm/patches/readline-6.2/patch-shobj-conf.diff
patching file support/shobj-conf
Hunk #1 FAILED at 157.
1 out of 2 hunks FAILED -- saving rejects to file support/shobj-conf.rej

我试过

$ rvm pkg install readline
$ rvm remove 1.9.2
$ rvm install 1.9.2 --with-readline-dir=$rvm_path/usr

$ cd $HOME/.rvm/src/ruby-1.9.2-p0/ext/readline
$ ruby extconf.rb
$ make install

后者给了我

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

运行'rails server'是有效的,所以我认为问题只在于readline。

任何人都可以指出我正确的方向。

3 个答案:

答案 0 :(得分:6)

在Ubuntu 10.0.4上遇到同样的问题并设法修复它:

rvm uninstall 1.9.2
sudo apt-get install libreadline-dev
rvm install 1.9.2 --with-readline-dir=/usr/include/readline

答案 1 :(得分:1)

我使用此命令重新安装ruby 1.9.2指向我的系统版本的readline:

rvm install 1.9.2 --with-readline-dir=/usr/include/readline

这似乎解决了我的问题,现在一切正常。

罗布

另外值得注意的是,rvm github网站上存在匹配问题,应尽快解决:   https://github.com/wayneeseguin/rvm/issues/515

答案 2 :(得分:0)

Ubuntu 11.10。 对我来说,以下工作: 首先安装rvm。 然后从rvm要求安装所有内容 然后安装1.9.3或其他。