开发者

no such file to load -- readline

开发者 https://www.devze.com 2023-01-29 16:05 出处:网络
I am getting the following error: $script/console Loading development environment (Rails 2.2.2) /opt/ruby-enterp开发者_如何学运维rise-1.8.6-20080709/lib/ruby/1.8/irb/completion.rb:10:in `require\': n

I am getting the following error:

$script/console
Loading development environment (Rails 2.2.2)
/opt/ruby-enterp开发者_如何学运维rise-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


This easiest way to get relief from this problem, just add to your Gemfile:

gem 'rb-readline'

And then run bundle install


Run the command

rvm requirements

It shows the requirements and dependencies. Install those and reinstall the ruby on rvm

rvm remove 1.9.2
rvm install 1.9.2

It works!

EDIT

If you can't find the requirements option update your rvm.

rvm update --head  # older rvm

or use rvm upgrade


Maybe this is a bullshit answer, but I ran into this problem today after upgrading postgres from 9.5.3 to 9.6, along with which homebrew upgraded readline from 6.something to 7. I ended up rolling back my postgres to 9.5.3 and that resolved the issue.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号