簡體   English   中英

Rails控制台不起作用

[英]rails console does not work

我在Windows Vista上使用Rails版本3.0.3和ruby版本1.9.2p136(2010-12-15)。 腳本控制台給我以下錯誤:

加載開發環境(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塊.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:在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`'

我能做什么?

我遇到了同樣的問題。 我花了幾個小時試圖修復它,重建紅寶石,等等。。。對於LANG =的任何設置都失敗了。

最終,我在代碼中發現了初始化文件〜/ .inputrc的加載過程。

我在有問題的計算機中的$ HOME沒有〜/ .inputrc ...我試圖創建一個空的,並且...起作用了!

所以嘗試touch ~/.inputrc

我剛剛在Rails 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

問題在於Ruby1.9.2在編碼方面存在一些問題...您必須檢查數據庫驅動程序是否未給出錯誤。服務器是否運行? 我建議您使用Ruby187

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM