我的环境是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。
任何人都可以指出我正确的方向。
答案 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或其他。