没有这样的文件加载 – readline

我收到以下错误:

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

我在哪里可以得到的文件,它应该在什么目录?

谢谢!

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

你有没有手动构build你的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并再次尝试上面的内容。

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

你需要安装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 

这对我有效

 gem install rb-readline 

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

 gem 'rb-readline' 

学分类似的问题/答案在安装ruby1.9.3使用rvm在Ubuntu上

从这个问题中解脱出来的最简单的方法,只需添加到您的Gemfile:

 gem 'rb-readline' 

然后运行bundle install

运行命令

 rvm requirements 

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

 rvm remove 1.9.2 rvm install 1.9.2 

有用!

编辑

如果找不到requirements选项,请更新您的rvm。

 rvm update --head # older rvm 

或使用rvm upgrade

也许这是一个废话的答案,但我今天遇到这个问题后升级postgres从9.5.3到9.6,随着自制软件升级readline从6.something到7.我最终回滚我的postgres到9.5.3和解决了这个问题。