2013-04-01 71 views
6

我是Ruby on Rails的新手,我正在使用RVM來管理Ruby版本。爲什麼Rails控制檯說「無法加載這樣的文件 - readline」?

我的筆記本電腦安裝了Ruby1.8.7,但我的項目使用RVM,Ruby1.9.3和Rails 3.2.11。

我不能沒有它給我下面的錯誤運行rails crails console

/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

哪個'rails'命令在運行? '哪個rails'的輸出是什麼? –

+0

感謝Stuart的回覆。我在下面回答。 – polarcare

回答

11

您必須在您Ruby編譯安裝的readline庫。

如果你是在CentOS /紅帽/ Fedora Linux系統,使用安裝軟件包:

sudo yum install readline-devel 

或者,在Ubuntu上,使用:

sudo apt-get install libreadline6 libreadline6-dev 

,然後重新編譯紅寶石。

+0

感謝您迴應斯圖爾特和約翰。我運行「rvm use 1.9.3」,它顯示回「ruby 1.9.3p392(2013-02-22 revision 39386)[i686-linux]」。一切工作正常,只有當我運行「軌道C」或「軌道控制檯」我得到上述錯誤。我運行「sudo apt-get install libreadline6 libreadline6-dev」並安裝了它們,但不幸的是我仍然收到錯誤消息。 – polarcare

+0

johnkoht - 當你說「然後重新編譯紅寶石」時,你究竟是什麼意思? – polarcare

+0

然後用「rvm uninstall [RUBYVERSION]」和rvm install [RUBYVERSION]「重新編譯ruby」。現在正在工作,感謝一百萬johnkoht,傳說! – polarcare

相關問題