рельсы консоль не работает - PullRequest
2 голосов
/ 08 января 2011

Я использую rails версии 3.0.3 и ruby ​​версии 1.9.2p136 (2010-12-15) в Windows Vista.Консоль скрипта выдает мне следующую ошибку:

Загрузка среды разработки (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:ineach_line 'из 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' из C: /privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb: 2500: в readline_initialize_everything' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb:3726:in rl_initialize 'из C: /privat/Ruby192/lib/ruby/site_ruby/1.9.1/rbreadline.rb: 4720: в readline' from C:/privat/Ruby192/lib/ruby/site_ruby/1.9.1/readline.rb:40:in readline' из C: / privat / Ruby192 /lib / ruby ​​/ 1.9.1 / irb / input-method.rb: 115: в блоке gets' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:139:in (2 уровня) в eval_input 'из C: /privat/Ruby192/lib/ruby/1.9.1/irb.rb:273: в signal_status' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:138:in блоке в eval_input 'из C: /privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb: 188: в call' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in buf_input' из 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: в 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 (2 уровня) в каждом_топе_уровне_стадии' из C: / privat / Ruby192 /Lib / ruby ​​/ 1.9.1 / irb / ruby-lex.rb: 229: в 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: в catch' from C:/privat/Ruby192/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in each_top_level_statement 'из C: /privat/Ruby192/lib/ruby/1.9.1/irb.rb: 155: в 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: в catch' from C:/privat/Ruby192/lib/ruby/1.9.1/irb.rb:69:in start 'из C: /privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb: 44: в start' from C:/privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:8:in start 'из C: /privat/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb: 23: в <top (required)>' from script/rails:6:inrequire 'from script / rails: 6: in `'

Что я могу сделать?

Ответы [ 3 ]

0 голосов
/ 23 апреля 2013

У меня такая же проблема. Я потратил часы, пытаясь это исправить, перестроив ruby ​​и т. Д. ... Для любого параметра LANG = он не удался.

Наконец я обнаружил в коде, что это было во время загрузки файла инициализации, то есть ~ / .inputrc.

В моем $ HOME на проблемном компьютере не было ~ / .inputrc ... Я попытался создать пустой и ... сработало!

Так что попробуйте touch ~/.inputrc

0 голосов
/ 08 июля 2014

Я только что столкнулся с той же проблемой с рельсами 4.1.1, и оказалось, что мой файл ~/.inputrc был закодирован с использованием кодировки ISO-8859-1. После преобразования файла в UTF-8 все заработало нормально:

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

Чтобы проверить, с какой кодировкой кодируется inputrc файл, используйте:

$ file --mime-encoding ~/.inputrc
0 голосов
/ 11 января 2011

Проблема в том, что Ruby1.9.2 имеет некоторые проблемы с кодировкой ... Вы должны проверить, не выдает ли ваш драйвер БД ошибку .. Ваш сервер работает? Я рекомендую вам использовать Ruby187

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...