我想使用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,我也从
获得版本5https://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
“不”的部分是我的问题,那么我该如何解决这个问题?
答案 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
。