2013-04-01 38 views
6

Tôi mới dùng Ruby on Rails và đang sử dụng RVM để quản lý các phiên bản Ruby.Tại sao bảng điều khiển Rails nói "không thể tải tập tin như vậy - readline"?

Máy tính xách tay của tôi đã cài đặt Ruby1.8.7, nhưng dự án của tôi đang sử dụng RVM, Ruby1.9.3 và Rails 3.2.11.

tôi không thể chạy rails c hoặc rails console mà không có nó đem lại cho tôi những lỗi sau:

/home/phil/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError) 
from /home/phil/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>' 
from /home/phil/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.11/lib/rails/commands/console.rb:3:in `require' 
from /home/phil/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.11/lib/rails/commands/console.rb:3:in `<top (required)>' 
from /home/phil/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.11/lib/rails/commands.rb:38:in `require' 
from /home/phil/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.11/lib/rails/commands.rb:38:in `<top (required)>' 
from script/rails:6:in `require' 
from script/rails:6:in `<main>' 
+0

Bạn đang chạy lệnh 'rails' nào? Đầu ra của «đường ray' nào? –

+0

Cảm ơn Stuart đã trả lời. Tôi trả lời dưới đây. – polarcare

Trả lời

11

Bạn cần phải có các thư viện readline cài đặt khi bạn biên dịch Ruby.

Nếu bạn đang ở trên CentOS/Redhat/Fedora Linux, cài đặt các gói sử dụng:

sudo yum install readline-devel 

Hoặc, trên Ubuntu, sử dụng:

sudo apt-get install libreadline6 libreadline6-dev 

và sau đó biên dịch lại Ruby.

+0

Cảm ơn bạn đã trả lời Stuart và John. Tôi chạy "rvm use 1.9.3" nó hiển thị lại "ruby 1.9.3p392 (2013-02-22 revision 39386) [i686-linux]". Tất cả mọi thứ hoạt động tốt, nó chỉ khi tôi chạy "rails c" hoặc "rails console" tôi nhận được lỗi ở trên. Tôi chạy "sudo apt-get install libreadline6 libreadline6-dev" và cài đặt chúng, nhưng tôi vẫn gặp lỗi. – polarcare

+0

johnkoht - khi bạn nói "sau đó biên dịch lại ruby", bạn có ý gì? – polarcare

+0

Sau đó biên dịch lại ruby ​​bằng "gỡ cài đặt rvm [RUBYVERSION], sau đó cài đặt rvm [RUBYVERSION]". Đó là làm việc bây giờ, cảm ơn một triệu johnkoht, huyền thoại! – polarcare

Các vấn đề liên quan