无法让“rails console”在ubuntu 11.10上运行

时间:2011-12-20 23:15:41

标签: ruby-on-rails-3 ubuntu-11.10

我想使用rails console,我正在使用ubuntun 11.10,目前我发现了问题

错误是:

completion.rb:9:in `require': no such file to load -- readline (LoadError)

我找到了解决问题的方法:

http://blog.jasonmeridth.com/2010/11/25/readline-error-with-rvm-and-rails-3.html

但似乎在ubuntu 11.10中错过了libreadline5-dev并将其替换为版本6

我安装了版本6,我也从

获得版本5

https://launchpad.net/ubuntu/oneiric/i386/libreadline-gplv2-dev/5.2-9ubuntu1

但是如果我尝试运行以下代码:

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

“不”的部分是我的问题,那么我该如何解决这个问题?

2 个答案:

答案 0 :(得分:12)

Ubuntu 11.10使用更新的readline库,它与rvm提供的readline包不同步

要解决此问题(假设您使用rvm的单用户安装),请执行以下操作:

1)确保您已安装ubuntus readline和editline开发包

sudo apt-get install libreadline6 libreadline6-dev

2)配置ruby的readline扩展以使用系统库,而不是rvm的包

rvm pkg uninstall readline
cd ~/.rvm/src/ruby-1.9.2-p290/ext/readline
ruby extconf.rb --with-editline-dir=/usr/ --with-readline-dir=/usr/
make
make install

3)转到您的项目并启动rails控制台



提示:您可以致电

rvm requirements

查看应该安装哪些ubuntu软件包以使用rvm ruby​​

答案 1 :(得分:0)

您必须在编译ruby之前安装readline开发包。跑吧

sudo apt-get install libreadline6-dev

替代方案(如您链接的文章中所述)您可以通过运行

使用RVM获取相应的readline源
rvm package install readline

编辑:从源代码安装readline软件包后,您可以像这样安装红宝石

rvm install 1.9.3 --with-readline-dir="$rvm_path/usr"

如果你已经安装了特定的红宝石,只需在reinstall上使用install