2013-04-01 2 views
6

Ich bin neu bei Ruby on Rails und verwende RVM, um Ruby-Versionen zu verwalten.Warum sagt die Rails-Konsole "kann solche Dateien nicht laden - readline"?

Mein Laptop hat Ruby1.8.7 installiert, aber mein Projekt verwendet RVM, Ruby1.9.3 und Rails 3.2.11.

Ich kann nicht rails c oder rails console ausführen, ohne es mir die folgende Fehlermeldung geben:

/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

Welchen "Rails" -Befehl führen Sie aus? Was ist der Output von 'which rails'? –

+0

Danke Stuart für die Antwort. Ich antwortete unten. – polarcare

Antwort

11

Sie müssen die Readline- Bibliotheken installiert haben, wenn Sie Ruby-kompilieren.

Wenn Sie auf CentOS/Redhat/Fedora Linux sind, installieren Sie das Paket mit:

sudo yum install readline-devel 

Oder auf Ubuntu, zu verwenden:

sudo apt-get install libreadline6 libreadline6-dev 

und dann Rubin neu kompilieren.

+0

Danke für die Antwort von Stuart und John. Ich renne "rvm use 1.9.3" es zeigt "ruby 1.9.3p392 (2013-02-22 revision 39386) [i686-linux]" zurück. Alles funktioniert gut, nur wenn ich "rails c" oder "rails console" starte bekomme ich den obigen Fehler. Ich habe "sudo apt-get install libreadline6 libreadline6-dev" ausgeführt und installiert, aber leider bekomme ich den Fehler trotzdem. – polarcare

+0

johnkoht - wenn du sagst "dann kompiliere Rubin", was genau meinst du? – polarcare

+0

Dann kompilieren Sie Ruby mit "rvm uninstall [RUBYVERSION] gefolgt von rvm install [RUBYVERSION]". Das funktioniert jetzt, danke eine Million Johnkoht, Legende! – polarcare