Tôi đang gặp các vấn đề khác nhau với giao diện điều khiển Rails của tôi dưới JRuby, bao gồmRails console vấn đề sử dụng JRuby: không có nhân vật nhanh chóng, không hoàn thành tab, phím mũi tên bị gãy, vv
- Không nhân vật nhắc
- Tab hoàn không làm việc (tab đen được chèn)
- lên/xuống mũi tên không lịch sử duyệt web (
^[[A
hoặc^[[B
được chèn, tương ứng) - trái/phải mũi tên không di chuyển con trỏ (
^[[D
hoặc^[[C
được chèn, tương ứng) - Home/End phím không di chuyển con trỏ đến đầu/cuối dòng (thay vì
1~
hoặc4~
chèn, tương ứng); Ctrl +một/Ctrl +e công việc mặc dù - Ctrl +c giết console thay vì giết chết dòng Tôi đang bước vào
- Ctrl +d không có bất kỳ hiệu ứng nào cho đến khi tôi nhấn Nhập (sau đó thực thi bất kỳ điều gì tôi đã nhập giữa Ctrl + d và Nhập vào vỏ Unix của tôi).
Tôi đã cài đặt phiên dịch JRuby tôi từ RVM như vậy:
rvm install jruby-1.6.8 --1.9
Rails My dự án được quản lý sử dụng Bundler (không gemsets RVM), vì vậy tôi chạy Rails giao diện điều khiển của tôi sử dụng bundle exec rails c
. Điều thú vị là, liệu irb
cũng như bundle exec irb
không có hầu hết các vấn đề trên, ngoại trừ Home/End phím và Ctrl +c cần một Nhập trước khi tôi nhận được một dòng dấu nhắc tươi.
tôi có thể tái tạo vấn đề với một Rails barebones Gemfile
:
source 'https://rubygems.org'
gem 'rails', '3.2.6'
gem 'sqlite3'
vỏ của tôi là zsh
, trên Ubuntu 12.04 64-bit. $JAVA_HOME
là /usr/lib/jvm/java-7-openjdk-amd64
, nhưng có thể vẫn là java-6 khi tôi cài đặt trình thông dịch này, nếu điều đó quan trọng.
Cập nhật: Một số sửa chữa
Các thiếu nhân vật nhắc nhở rõ ràng là do IRB.conf[:PROMPT_MODE]
việc thiết để :NULL
bởi Rails console.Đối với thường xuyên irb
, tôi được đặt thành :RVM
(dường như rvm thực hiện điều này trong ~/.rvm/scripts/irb.rb
; Tôi loại trừ rvm gây ra sự cố này bằng cách nhận xét ra tập lệnh). Cung cấp giá trị :PROMPT_MODE
trong ~/.irbrc
khắc phục điều này. Tôi nghĩ có thể là một vấn đề tương tự đã gây ra Ctrl +c/Ctrl +d vấn đề bằng cách thay đổi :IGNORE_SIGINT
và :IGNORE_EOF
, nhưng họ đều thiết lập các giá trị mặc định của họ.
Hoàn thành tab và các phím mũi tên được sửa bằng cách đặt :USE_READLINE
thành true.
Dưới đây là các vấn đề hiện tại ~/.irbrc
mà dường như để sửa chữa nói của tôi:
require 'irb/completion'
IRB.conf[:PROMPT_MODE] = :SIMPLE
IRB.conf[:USE_READLINE] = true
IRB.conf[:AUTO_INDENT] = true
Vui mừng bạn đã có thể giải quyết vấn đề của bạn, tuy nhiên tôi trên Linux vì vậy không chắc chắn nếu có là một lựa chọn tương tự –