Ruby 1.9.2和Rails 3无法打开rails控制台 [英] Ruby 1.9.2 and Rails 3 cannot open rails console

查看:83
本文介绍了Ruby 1.9.2和Rails 3无法打开rails控制台的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  [gkaykck @ main myApplication] $ rails console 
/usr/local/lib/ruby/1.9.1/irb/completion.rb:9:in`require' :没有这样的文件加载 - readline(LoadError)
from /usr/local/lib/ruby/1.9.1/irb/completion.rb:9:in`< top(required)>'$从/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:3:in'require'从/ usr获得
的b $ b /local/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:3:in`< top(required)>'
from / / usr / local / lib / ruby​​ / usr / local / lib / ruby​​ / gems / 1.9.1 / gems / railties-3.0.3 / lib / rails / commands.rb:20: gems / 1.9.1 / gems / railties-3.0.3 / lib / rails / commands.rb:20:在< top(required)>'脚本/ rails中的
:6:在'require'
from script / rails:6:在< main>中

轨道3红宝石1.9.2p136,这是好的我猜。但我无法启动rails console,它给了我复制的错误。这些应用程序在ruby 1.8.7上运行良好,我从未看到过这样的错误。



任何想法都可以做到吗?



首先谷歌命中(是的,我点击这个堆栈溢出在地方#2之前检查)



导航到Ruby源代码并输入:

  sudo apt-get install libreadline5-dev 
cd ext / readline
ruby​​ extconf.rb
make
sudo make install

所以,如果你在另一个发行版中,确保你安装了readline(source / package),然后在源extconf上运行make / install。我尝试了gkaykck的建议,但是在我的系统上已经没有readline了。

  $ ruby​​ extconf.rb 
在-lncurses中检查tgetnum()... no
在-ltermcap中检查tgetnum()... no
在-lcurses中检查tgetnum()... no
检查readline / readline.h ... no
检查editline / readline.h ... no


[gkaykck@main myApplication]$ rails console
/usr/local/lib/ruby/1.9.1/irb/completion.rb:9:in `require': no such file to load -- readline (LoadError)
    from /usr/local/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:3:in `require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:3:in `<top (required)>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:20:in `require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:20:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

I have installed rails 3 on ruby 1.9.2p136, which is ok i guess. But i cannot start rails console and it gives me the error i copied. The apps worked great with ruby 1.8.7 and i never saw an error like this.

Any ideas what it could be?

解决方案

Apparently ubuntu and ruby don't always catch dependencies like they should.

From the first google hit (yeah, I clicked on this stack-overflow in place #2 before checking out the first result.)

Navigate to the Ruby source and enter:

sudo apt-get install libreadline5-dev
cd ext/readline
ruby extconf.rb
make
sudo make install

So, if you're on another distro, make sure you install readline somehow (source/package), then run make/install on extconf from the source. I tried what gkaykck suggested of course but got this without readline already on my system.

$ ruby extconf.rb
checking for tgetnum() in -lncurses... no
checking for tgetnum() in -ltermcap... no
checking for tgetnum() in -lcurses... no
checking for readline/readline.h... no
checking for editline/readline.h... no

这篇关于Ruby 1.9.2和Rails 3无法打开rails控制台的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆