简体   繁体   English

Rails控制台不起作用

[英]rails console does not work

I'm using rails Version 3.0.3 and ruby Version 1.9.2p136 (2010-12-15) on Windows Vista. 我在Windows Vista上使用Rails版本3.0.3和ruby版本1.9.2p136(2010-12-15)。 Script console gives me the following error: 脚本控制台给我以下错误:

Loading development environment (Rails 3.0.3) C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2116:in block in _rl_read_init_file': invalid byte sequence in UTF 8 (ArgumentError) from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2114:in each_line' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2114:in _rl_read_init_file' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2080:in rl_read_init_file' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2500:in readline_initialize_everything' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:3726:in rl_initialize' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:4720:in readline' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/readline.rb:40:in readline' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/input-method.rb:115:in gets' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:139:in block (2 levels) in eval_input' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:273:in signal_status' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:138:in 加载开发环境(Rails 3.0.3)C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2116: block in _rl_read_init_file': invalid byte sequence in UTF 8 (ArgumentError) from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2114:in中的block in _rl_read_init_file': invalid byte sequence in UTF 8 (ArgumentError) from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2114:in :在C block in _rl_read_init_file': invalid byte sequence in UTF 8 (ArgumentError) from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2114:in C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2114: _rl_read_init_file' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2080:in rl_read_init_file 2500:in readline_initialize_everything' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:3726:in rl_initialize from from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/ rbreadline.rb:4720:in readline' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/readline.rb:40:in readline'from C:/privat/Ruby192/lib/ruby/1.9。 1 / irb / input-method.rb:115:in gets' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:139:in从C:/获得eval_input的块(2级) privat / Ruby192 / lib / ruby​​ / 1.9.1 / irb.rb:273:in signal_status' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:138:in signal_status' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:138:in block in eval_input' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in call' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in buf_input' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:103:in getc' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/slex.rb:205:in match_io' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/slex.rb:75:in match' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:286:in token' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:262:in lex' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in block (2 levels) in each_top_level_statement' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in loop' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in block in each_top_level_statement' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in catch' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in each_top_level_statement' from C:/privat/Ruby signal_status' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:138:in块.rb:188:in call' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in buf_input'from C:/privat/Ruby192/lib/ruby/1.9 .1 / irb / ruby​​-lex.rb:103:在getc' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/slex.rb:205:in match_io中从C:/ privat / Ruby192中/lib/ruby/1.9.1/irb/slex.rb:75:in match'from match' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:286:in C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:262:在lex' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in从C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex的rb_233 lex' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in块(2个级别)在loop' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in从C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in在each_top_level_statement loop' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in块中从C:/ privat / Ruby catch' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in each_top_level_statement中 192/lib/ruby/1.9.1/irb.rb:155:in eval_input' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:70:in block in start' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:69:in catch' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:69:in start' from C:/privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:44:in start' from C:/privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:8:in start' from C:/privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:23:in <top (required)>' from script/rails:6:in require' from script/rails:6:in `' 192 / lib / ruby​​ / 1.9.1 / irb.rb:155:在eval_input' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:70:in / privat / Ruby 192 / lib / ruby​​ / 1.9.1 / irb.rb eval_input' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:70:in在起始块中,从C:/ privat / Ruby192 / lib / ruby​​ / 1.9.1 / irb.rb:69:从C:/ catch' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:69:in privat / Ruby192 / lib / ruby​​ / 1.9.1 / irb.rb:69:从C:/开始privat / Ruby192 / lib / ruby​​ / gems / 1.9.1 / gems / railties-3.0.3 / lib / rails / commands / console.rb:44:in start' from C:/privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:8:in C:/privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties- 3.0.3 / lib / rails / commands.rb:23:in <top (required)>' from script/rails:6:in require'from script / rails:6:in`'

What can I do? 我能做什么?

I got the same problem. 我遇到了同样的问题。 I spent hours trying to fix it, rebuilding ruby, etc... For any setting of LANG= it was failing. 我花了几个小时试图修复它,重建红宝石,等等。。。对于LANG =的任何设置都失败了。

Finally I discovered in the code that it was during the load of the init file, that is, ~/.inputrc. 最终,我在代码中发现了初始化文件〜/ .inputrc的加载过程。

My $HOME in the problematic computer had not the ~/.inputrc... I tried to create an empty one and... worked! 我在有问题的计算机中的$ HOME没有〜/ .inputrc ...我试图创建一个空的,并且...起作用了!

So try touch ~/.inputrc 所以尝试touch ~/.inputrc

I've just encountered this same issue with rails 4.1.1, and it turned out that my ~/.inputrc file was encoded using the ISO-8859-1 encoding. 我刚刚在Rails 4.1.1上遇到了同样的问题,结果证明我的~/.inputrc文件是使用ISO-8859-1编码进行编码的。 After converting the file to UTF-8, everything worked fine: 将文件转换为UTF-8后,一切正常:

$ iconv --from-code=ISO-8859-1 --to-code=UTF-8 ~/.inputrc >out
$ mv out ~/.inputrc

To check what encoding your inputrc file is encoded with, use: 要检查您的inputrc文件采用的编码方式,请使用:

$ file --mime-encoding ~/.inputrc

The problem is that Ruby1.9.2 has some issues with encoding... You have to check if your db driver is not giving error.. Does your server run? 问题在于Ruby1.9.2在编码方面存在一些问题...您必须检查数据库驱动程序是否未给出错误。服务器是否运行? I recommend you to use Ruby187 我建议您使用Ruby187

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM