我想使用rails控制台,我正在使用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
“不”的部分是我的问题,那么我该如何解决这个问题呢?
解决方法
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