10

JRuby の Rails コンソールでさまざまな問題が発生しています。

  • プロンプト文字なし
  • Tab補完が機能しない (リテラル タブが挿入される)
  • 閲覧履歴ではない上/下矢印 (^[[Aまたは^[[Bそれぞれ挿入されます)
  • 左/右矢印がカーソルを動かさない (^[[Dまたは^[[Cそれぞれ挿入される)
  • Home/Endキーがカーソルを行頭/行末に移動しない (代わりに1~、または4~挿入された); Ctrl+ a/ Ctrl+ でもeうまくいく
  • Ctrl+c入力している行を強制終了する代わりに、コンソールを強制終了します
  • Ctrl+dヒットするまで何の効果もありませんEnter(その後、Ctrl+dEnterUnix シェルで入力したものはすべて実行されます)。

次のように、rvm から JRuby インタープリターをインストールしました。

rvm install jruby-1.6.8 --1.9

私の Rails プロジェクトは (rvm gemsets ではなく) Bundler を使用して管理されているため、bundle exec rails c. 興味深いことに、rawirbbundle exec irbは上記の問題のほとんどがありませんが、Home/EndキーとCtrl+を除いて、新しいプロンプト行を取得する前にc必要です。Enter

ベアボーン Rails で問題を再現できますGemfile:

source 'https://rubygems.org'
gem 'rails', '3.2.6'
gem 'sqlite3'

私のシェルはzsh、Ubuntu 12.04 64ビットです。$JAVA_HOMEですが/usr/lib/jvm/java-7-openjdk-amd64、問題があれば、このインタープリターをインストールしたときはまだ Java-6 だった可能性があります。

更新: いくつかの修正

プロンプト文字が欠落しているのは、Rails コンソールによってIRB.conf[:PROMPT_MODE]設定されたことが原因であると思われます。:NULL通常irbの場合、私の場合は に設定されます:RVM(明らかに rvm は でこれを行い~/.rvm/scripts/irb.rbます。スクリプトをコメントアウトすることで、この問題の原因となる rvm を除外しました)。に:PROMPT_MODE値を指定すると~/.irbrc、これが修正されます。同様の問題が と を変更してCtrl+ c/ Ctrl+の問題を引き起こしているのではないかと思いましたが、どちらもデフォルト値に設定されています。d:IGNORE_SIGINT:IGNORE_EOF

タブ補完と矢印キーは:USE_READLINE、true に設定することで修正されます。

~/.irbrc上記の問題を修正しているように見える私の現在は次のとおりです。

require 'irb/completion'

IRB.conf[:PROMPT_MODE]  = :SIMPLE
IRB.conf[:USE_READLINE] = true
IRB.conf[:AUTO_INDENT]  = true
4

2 に答える 2

2

Windows でこの問題が発生し、コマンド プロンプト設定で「バッファ数」を増やすことで修正されました。Command Prompt -> Properties -> Options -> Number of Buffers デフォルトは 4 ですが、8 に変更するとすべてうまくいきました (5 でもうまくいくと思います)。

于 2013-05-21T20:26:08.513 に答える