无法让"rails console"在ubuntu 11.10上运行

Sey*_*emi 6 ruby-on-rails-3 ubuntu-11.10

我想使用rails控制台,我正在使用ubuntun 11.10,目前我发现了这个问题

错误是这样的:

completion.rb:9:in `require': no such file to load -- readline (LoadError)
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

我会得到以下几行:

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
Run Code Online (Sandbox Code Playgroud)

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

Val*_*dis 12

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

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

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

sudo apt-get install libreadline6 libreadline6-dev
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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



提示:你可以打电话

rvm requirements
Run Code Online (Sandbox Code Playgroud)

看看应该安装什么ubuntu软件包才能使用rvm ruby