通过PuTTY在Rails控制台中执行历史命令
问题描述:
通过PuTTY在rails 2.3.12中使用脚本/控制台。当我按下“向上”箭头访问我写的最后一条命令时,它不是打开命令,而是将奇怪的字符串“^ [[A”打印到终端。与其他箭头一样...后退箭头打印“^ [[D”和向前箭头打印“^ [[”C“通过PuTTY在Rails控制台中执行历史命令
希望有人认出这些奇怪的代码,并可能告诉我如何让箭头正常工作。这是一个PuTTY设置问题?
答
向上箭头功能由readline提供。通常,在构建ruby时,./configure自动检测readline库并为它们构建ruby映射。有时这不起作用,你必须在构建ruby时安装新库或自定义配置--with-readline-dir。 irb和rails-console只是使用ruby stdlib的readline功能,可能你的ruby构建没有检测到并绑定readline。
我建议你调查other SO questions relevant to building ruby with readline看看他们中的一个是否能为你的ruby版本和你的操作系统提供指导。
答
我用这个,它使用JRuby 1.6.7为我工作和Rails 2.3.8(见链接,原来的解决方案)
它看起来像打捆防止IRB控制台使用readline。您可以解决此通过将下面的行放在.irbrc
,这将迫使IRB到readline的使用:
IRB.conf[:USE_READLINE] = true
这里建议
Running rails console with bundle exec
希望这会有所帮助。