Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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!

like image 757
Jay Avatar asked Dec 08 '10 08:12

Jay


2 Answers

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.

like image 196
Stéphan Kochen Avatar answered Sep 25 '22 23:09

Stéphan Kochen


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
like image 41
jatin Avatar answered Sep 23 '22 23:09

jatin