no such file to load -- readline

I am getting the following error:

$script/console
Loading development environment (Rails 2.2.2)
/opt/ruby-enterprise-1.8.6-20080709/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError)

Where can i get the file and what directory should it go in?

Thanks!


The readline module is normally part of the Ruby package itself.

Did you manually build your Ruby install? If so, you want to make sure libreadline and its headers are installed, and build again.

On Debian/Ubuntu:

apt-get install libreadline-dev

Or on RHEL/CentOS, try

yum install readline-devel

Update:

You are using a very old release of Ubuntu. If you want to keep using it, open /etc/apt/sources.list in a text editor, and change all occurrences of archive.ubuntu.com to old-releases.ubuntu.com. Then, run apt-get update and try the above again.

I urge you to consider updating your installation, though. Ubuntu 7.10 hasn't seen security updates in quite a while, and using it in production is not recommended. Even if it's not a production machine, there's a good chance you'll run into further problems because of old versions of certain libraries/dependencies.


You need to install the ncurses and readline libraries.

On Ubunutu you could do

sudo apt-get install libreadline5-dev libncurses5-dev

and then you will have to recompile readline which comes with your ruby source

cd <ruby-src-dir>/ext/readline
ruby extconf.rb
make
sudo make install

If you are using RVM you could simply do

rvm package install readline

EDIT:

On newer RVM versions, this last command is

rvm pkg install readline

Add the following line to your Gemfile and run bundle update

gem 'rb-readline'

credits to similar question/answer at install ruby 1.9.3 using rvm on ubuntu