没有这样的文件加载 - readline

时间:2010-12-08 08:40:00

标签: ruby-on-rails ruby

我收到以下错误:

$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)

我在哪里可以获取文件以及它应该进入哪个目录?

谢谢!

6 个答案:

答案 0 :(得分:46)

readline模块通常是Ruby包本身的一部分。

您是否手动构建了Ruby安装?如果是这样,您希望确保安装了libreadline及其标头,然后重新构建。

在Debian / Ubuntu上:

apt-get install libreadline-dev

或者在RHEL / CentOS上,尝试

yum install readline-devel

<强>更新

您使用的是Ubuntu的旧版本。如果您想继续使用它,请在文本编辑器中打开/etc/apt/sources.list,并将所有archive.ubuntu.com更改为old-releases.ubuntu.com。然后,运行apt-get update并再次尝试上述操作。

我建议你考虑更新你的安装。 Ubuntu 7.10在很长一段时间内没有看到安全更新,不推荐在生产中使用它。即使它不是生产机器,由于某些库/依赖项的旧版本,您很可能会遇到更多问题。

答案 1 :(得分:31)

您需要安装ncurses和readline库。

在Ubunutu你可以做到

sudo apt-get install libreadline5-dev libncurses5-dev

然后你将不得不重新编译ruby源附带的readline

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

如果您使用的是RVM,则只需执行

即可
rvm package install readline

编辑:

在较新的RVM版本上,最后一个命令是

rvm pkg install readline

答案 2 :(得分:9)

这对我有用

gem install rb-readline

并将以下行添加到您的Gemfile中:

gem 'rb-readline'

install ruby 1.9.3 using rvm on ubuntu

处对类似问题/答案进行评分

答案 3 :(得分:6)

这是解决这个问题的最简单方法, 只需添加到您的Gemfile:

gem 'rb-readline'

然后运行bundle install

答案 4 :(得分:2)

运行命令

rvm requirements

它显示了需求和依赖关系。安装它们并在rvm上重新安装ruby

rvm remove 1.9.2
rvm install 1.9.2

有效!

修改

如果您无法找到requirements选项更新您的rvm。

rvm update --head  # older rvm

或使用rvm upgrade

答案 5 :(得分:0)

也许这是一个胡说八道的答案,但是我将postgres从9.5.3升级到9.6之后我遇到了这个问题,以及自制升级后的readline从6.something升级到7.我最终将我的postgres回滚到9.5。 3,这解决了这个问题。