2

在我的 Rails 应用程序的开发阶段,我需要使用rails console命令。在这个命令中,我还需要修改我的命令,比如在我的命令中导航,调用上一个命令到控制台等。但是在按下箭头键之后,它不会调用像A, B, C, - 这样的D字母,它会将这些字母作为命令处理,并且自然会出错。-

此外,我在带有 rbenv 的 Ruby 2.0.0 的 Ubuntu 上遇到了这个问题。在我的 Gemfile 中,pry-rails定义了rb-readline('~> 0.4.2') 之类的宝石。

新 1:这是退出之前的错误输出rails console

FATAL: Pry failed to get user input using `Readline`.
To fix this you may be able to pass input and output file descriptors to pry directly. e.g.
  Pry.config.input = STDIN
  Pry.config.output = STDOUT
  binding.pry

新 2:我继续运行rails consolebash从中删除pry-railsGemfile但问题仍然存在。

4

3 回答 3

1

你试过 gem pry-rails吗?

这对我的项目很有效。

于 2013-09-13T20:20:08.740 回答
1

同样的问题,

我删除了宝石rb-readline并解决了!

于 2017-05-03T06:44:02.703 回答
0

根据@ekremkaraca,我安装了所有指定的库

sudo apt-get install -y libreadline6 rlwrap readline-common libreadline6-dev

然后我重新编译 Ruby 以使用这些库:

cd /tmp
wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz
tar xzf ruby-2.1.5.tar.gz
cd ruby-2.1.5
./configure && make && sudo make install

现在我的 Ruby 实例(irb 等)可以识别上/下/左/右箭头和相关键。

请注意,如果您使用 rvm(或 rbenv 等)来管理 Ruby,请不要使用我的说明进行编译 - 遵循您经理的说明!

于 2014-12-20T05:09:40.347 回答